Environment: MS Visual C++ 5.0 with the SP3
Set of four time ActiveX controls:
- Date/Time Picker
- Month Calendar
- Duration Control
- Time Intervals Control
Installation notes:
- Unzip BCGTimeControls.zip file (e.g. c:\bcg directory)
- Go to output\release directory and register all controls
(regsvr32 BCGDateTime.ocx, regsvr32 BCGDurationCtrl.ocx
and regsvr32 BCGTimeIntervals.ocx) - Run BCGTimeExample.exe
Date/Time Control Properties and Methods:
Name | Description |
Date Date | Date/Time value |
DATE MinDate | Min. allowed date |
DATE MaxDate | Max. allowed date |
boolean CheckButton | Show check box |
boolean DropCalendar | Show Drop-down calendar arrow |
boolean ShowDate | Show control’s date part |
boolean ShowTime | Show control’s time part |
boolean SpinButton | Show up/down arrows |
boolean WantReturn | If WantReturn is true, control catches ENTER/ESC keys and fires OnEnter/OnCancel events |
void SizeToContent() | Adjust control size according to attributes. Should be called in OnInitDialog (VB – Form_Load) |
Date/Time Control Events:
Name | Description |
OnDateChanged | Indicates that Date property was changed |
OnSetFocus | Indicates that control received focus |
OnKillFocus | Indicates that control lost focus |
OnEnter | Enter key was pressed (fired if WantReturn property is true) |
OnCancel | Esc key was pressed (fired if WantReturn property is true) |
Calendar Control Properties and Methods:
Name | Description |
boolean MultiplySelection | Allow multiply days selection |
boolean AbsoluteSelectionMode | When this property is true, the selected days are saved when user changes the month; otherwise, control saves the weekdays |
OLE_COLOR BackgroundColor | Calendar background color |
OLE_COLOR ForegroundColor | Calendar foreground color |
OLE_COLOR SelectionBackgroundColor |
Background color of the selected days |
OLE_COLOR SelectionForegroundColor |
Foreground color of the selected days |
OLE_COLOR LightColor | 3-d edges light color |
OLE_COLOR ShadowColor | 3-d edges shadow color |
void SetSelectedDay(short iDay) | Select the day (1-31) |
void ClearAllSelections() | Clear all day selections |
boolean IsDaySelected(short iDay) |
Is day (1-31) selected? |
boolean MarkDay(short iDayNum, boolean bMarked) |
Mark the specific day (marked day is displayed as bold+underline) |
void UnMarkAllDays() | Clear all day marks |
Calendar Control Events:
Name | Description |
OnSelectionChanged | Indicates that selection was changed |
OnDateChanged | Indicates that date was changed (relevant if MultiplySelection property is false) |
OnMonthChanged | Indicates that month/year was changes |
Duration Control Properties and Methods:
Name | Description |
long TotalSeconds | Duration |
boolean SpinButton | Show up/down arrows |
BSTR DaysLabel | Text appeares after the days number (default: "Day(s) ") |
BSTR HoursLabel | Text appeares after the hours number (default: ":") |
BSTR MinutesLabel | Text appeares after the minutes number (default is empty) |
boolean ShowDays | Show number of days |
boolean ShowHoursMinutes | Show hours/minutes part |
void SizeToContent() | Adjust control size according to attributes. Should be called in OnInitDialog (VB – Form_Load) |
Duration Control Events:
Name | Description |
void OnDurationChanged(long lTotalSeconds) |
Indicates that duration was changed |
Time Intervals Control Properties and Methods:
Name | Description |
boolean MergingIsAllowed | Time intervals automerge is allowed |
boolean MultiplySelection | Multiple selection is allowed |
OLE_COLOR IntervalColor | Interval background color |
OLE_COLOR IntervalTextColor | Interval foreground color |
OLE_COLOR BackgroundColor | Control background color |
OLE_COLOR ForegroundColor | Control foreground color |
boolean AddInterval(DATE dateFrom, DATE dateTo, short iStatus) |
Add a new time interval (remark: date part of DATE-type parameters are ignored). Interval’s color will be defined according to interval’s status (see SetStatusColor method) |
boolean ChangeInterval(short iIndex, DATE dateFrom, DATE dateTo, short iStatus) |
Changes the specific time interval |
boolean RemoveInterval(short index) |
Remove the specific time interval |
void RemoveAllIntervals() | Remove all time intervals |
short GetIntervalsCount() | Returns intervals count |
boolean GetInterval(short iIndex, DATE* dateFrom, DATE* dateTo, short* iStatus) |
Obtain the specific interval data |
boolean SetIntervalStatus(short iIndex, short iStatus) |
Set the specific interval status. Interval’s color will be defined according to interval’s status (see SetStatusColor method) |
void SetStatusColor(short iStatus, OLE_COLOR color) |
Set the specific status’s color. All time intervals with the given status will be drawn with this background color |
short GetCurSel() | Returns selected interval number or (-1) if no intervals is selected |
boolean SetCurSel(short index) | Select the specific interval |
Time Intervals Control Events:
Name | Description |
OnAddInterval(short index, DATE FromTime, DATE ToTime) |
New time interval was added by user |
OnChangeInterval(short index, DATE FromTime, DATE ToTime) |
Time interval was moved by user |
OnRemoveInterval(DATE FromTime, DATE ToTime) |
Time interval was removed by user |
OnSelectionChanged(short index) | Selection was changed |
Copyright
These controls are freeware. You can use them in any
application. You can’t use this code in software development
library and/or redistribute the source code without author’s
permission. This code can be used WITHOUT ANY WARRANTIES on your
own risk. You can send bug reports and suggestions to Stas Levin.
Download Source Code and
Example
History