Click here to Skip to main content
Click here to Skip to main content

An MS Outlook-style mini-calendar control using WTL

By , 5 Jun 2003
 

Sample Image

Introduction

This article explains an MS Outlook-style mini-calendar control using WTL.

This began as a port of Matt Gullett's MS Outlook-style miniature calendar control written for MFC. There are still some features remaining to be added to it, but it serves as a reasonable starting point for anyone needing this functionality in a WTL application.

Features

  • Display months in n-columns by m-rows
  • Single-date or date-range selection (including SHIFT-extended selection)
  • Different fonts for: header, day initials, and day numbers
  • Auto-repeat on scroll arrows
  • Auto-scroll when previous/following months' days are selected
  • Callback (via WM_NOTIFY) for highlighting 'special days'
  • Month-year selection from header popup (with drop shadow under XP)

Optional display styles include:

  • 3D border
  • Today's date highlighted
  • Previous/following months' days displayed with the months' days
  • Week can start on any day of the week

Environment

This control was developed using VC++ .NET, WTL 7, and the Feb 2003 Platform SDK. It has been tested under Windows XP only.

History

  • 22 May 2003
    • Initial release
  • 6 June 2003
    • Added month/year selection popup
    • Added 'special date' highlighting
  • Soon...?
    • Buttons (optional) for selecting today's date, and for clearing the selection
    • Provide internationalisation support
    • Make it an ActiveX component

Acknowledgements

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Tony Ioanides
Web Developer
Australia Australia
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralUse this C++ in VB project PinmemberBlackboss9 May '06 - 1:43 
Generalcompile error Pinmemberhumbird27 Jun '05 - 0:06 
GeneralBug in SetRange(...) Pinmembervschoech4 Jul '04 - 23:48 
GeneralRe: Bug in SetRange(...) PinmemberTony Ioanides5 Jul '04 - 11:58 
GeneralRe: Bug in SetRange(...) Pinmembervschoech5 Jul '04 - 22:40 
GeneralForcing NotifyGetSpecialDays() Pinmembervschoech13 Jan '04 - 0:31 
GeneralRe: Forcing NotifyGetSpecialDays() PinmemberTony Ioanides14 Jan '04 - 21:54 
QuestionBug ResetRange()/NotifySelChanged()? Pinmembervschoech13 Jan '04 - 0:23 
Hi,
 
I like the Ctrl very much, but there seems to be a minor issue with calling ResetRange(). m_dtAnchor is invalidated, but it is then used in a comparison operation in NotifySelChanged(). This triggers a Debug assertion, comparison of invalid dates is not allowed.
 
I am calling ResetRange() even when the user has not yet made any selection. Maybe this is part of the problem?
 
Would you like to provide a fix?
   V.

AnswerRe: Bug ResetRange()/NotifySelChanged()? PinmemberTony Ioanides14 Jan '04 - 22:21 
GeneralRe: Bug ResetRange()/NotifySelChanged()? Pinmembervschoech14 Jan '04 - 23:07 
GeneralGood work. PinmemberMatt Gullett6 Jun '03 - 23:51 
GeneralWow this is just what I have been doing the last few weeks! PinmemberAngus Comber4 Jun '03 - 12:43 
General10 PinmemberHans J. Schroeder26 May '03 - 10:41 
GeneralNICE PinmemberSledgeHammer21 May '03 - 22:44 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web04 | 2.6.130523.1 | Last Updated 6 Jun 2003
Article Copyright 2003 by Tony Ioanides
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid