A masked edit control
I got this masked edit control code from someone (I can't remember whom it was). If anyone wishes to lay claim to the original they are more than welcome. I have found this quite useful. So I can't lay claim to doing all or even most of this. However I have enhanced the code to deal with times as well as dates.
I have also added validation of the keystrokes so that invalid times i.e. > 23:59 are not allowed. (I have limited the time validation to minutes. It would be no great effort to add in the seconds. Validation for dates is a little more difficult. Validation is limited to months < 13 and days < 32.
Ok how to make it work. There are three classes
- CMaskEdit
- CDateEdit
- CTimeEdit
Include the two files MASKED.CPP and MASKED.H in your project. Also include <afxdao.h> for the COleDateTime features if you already haven't. Modify the include line that says #include "myproj" to point to your project. Create a CEdit control and declare a control variable in your dialog then modify the CEdit declaration in the class header to say either CDateEdit or CTimeEdit
CDateEdit:
Pass your time to CDateEdit with
CDateEdit myeditctrl;
myeditctrl.SetDate(COleDateTime var);
and get the edited result back with
COleDateTime var = myeditctrl.GetDate();
CTimeEdit:
Pass your time to CTimeEdit with
CTimeEdit myeditctrl;
myeditctrl.SetTime(COleDateTime var);
and get the edited result back with
COleDateTime var = myeditctrl.GetTime();
and there you have it.
Please feel free to modify any modifications I have made. These are stated with //added this
Last updated: 15 May 1998
Comments
ExEditors Library
Posted by Legacy on 03/19/2002 12:00amOriginally posted by: Mike Philips
Software Engineer
Posted by Legacy on 07/26/1999 12:00amOriginally posted by: Larry Reid
BUGFIX : About OnChar
Posted by Legacy on 01/16/1999 12:00amOriginally posted by: Sang-il, Lee