BCGDateTime 控件 版本 1.0






4.63/5 (8投票s)
2000年1月27日

109930

3055
四种日期/时间 ActiveX 控件集(日期/时间选择器、月份日历、时长控件、时间间隔控件)
请访问 Stas Levin 的页面 以获取最新更新、讨论区和常见问题解答。
引言
BCGDateTime 是四种日期/时间 ActiveX 控件集(日期/时间选择器、月份日历、时长控件、时间间隔控件)
BCGDateTime 功能
BCGDateTime 是四种 ActiveX 日期/时间及日历控件的集合。
- 日期/时间选择器 允许您在单个控件中同时输入日期/时间;
- 月份日历 允许创建自定义的组织者,支持单日/多日选择,支持周视图和月视图,可以标记特定日期,启用特定时间间隔;
- 时长控件 允许您编辑事件的时长,例如“3 天 10 小时 15 分钟”。完全可配置!
- 时间间隔控件 允许您定义每日的时间间隔,例如 10:00AM-10:20AM,3PM-5:30PM
所有控件均自动从客户计算机的设置中获取日期/时间系统格式。
如何使用 BCGDateTime 控件
安装说明
- 解压 BCGTimeControls.zip 文件(例如,到 c:\bcg 目录)
- 进入 output\release 目录并注册所有控件(regsvr32 BCGDateTime.ocx,regsvr32 BCGDurationCtrl.ocx 和 regsvr32 BCGTimeIntervals.ocx)
- 运行 BCGTimeExample.exe
日期/时间控件属性和方法
名称 | 描述 |
Date Date | 日期/时间值 |
DATE MinDate | 允许的最小日期 |
DATE MaxDate | 允许的最大日期 |
boolean CheckButton | 显示复选框 |
boolean DropCalendar | 显示下拉日历箭头 |
boolean ShowDate | 显示控件的日期部分 |
boolean ShowTime | 显示控件的时间部分 |
boolean SpinButton | 显示上下箭头 |
boolean WantReturn | 如果 WantReturn 为 true,控件将捕获 ENTER/ESC 键并触发 OnEnter/OnCancel 事件 |
void SizeToContent() | 根据属性调整控件大小。应在 OnInitDialog(VB - Form_Load)中调用 |
日期/时间控件事件
名称 | 描述 |
OnDateChanged | 指示 Date 属性已更改 |
OnSetFocus | 指示控件获得焦点 |
OnKillFocus | 指示控件失去焦点 |
OnEnter | 按下 Enter 键(如果 WantReturn 属性为 true 则触发) |
OnCancel | 按下 Esc 键(如果 WantReturn 属性为 true 则触发) |
日历控件属性和方法
名称 | 描述 |
boolean MultiplySelection | 允许多日选择 |
boolean AbsoluteSelectionMode | 当此属性为 true 时,用户更改月份时会保存选中的日期;否则,控件会保存星期几 |
OLE_COLOR BackgroundColor | 日历背景颜色 |
OLE_COLOR ForegroundColor | 日历前景颜色 |
OLE_COLOR SelectionBackgroundColor | 选中日期的背景颜色 |
OLE_COLOR SelectionForegroundColor | 选中日期的前景颜色 |
OLE_COLOR LightColor | 3D 边缘的亮色 |
OLE_COLOR ShadowColor | 3D 边缘的阴影颜色 |
void SetSelectedDay(short iDay) | 选择日期(1-31) |
void ClearAllSelections() | 清除所有日期选择 |
boolean IsDaySelected(short iDay) | 日期(1-31)是否已选择? |
boolean MarkDay(short iDayNum, boolean bMarked) | 标记特定日期(标记的日期将显示为粗体+下划线) |
void UnMarkAllDays() | 清除所有日期标记 |
日历控件事件
名称 | 描述 |
OnSelectionChanged | 指示选择已更改 |
OnDateChanged | 指示日期已更改(当 MultiplySelection 属性为 false 时有效) |
OnMonthChanged | 指示月份/年份已更改 |
时长控件属性和方法
名称 | 描述 |
long TotalSeconds | 持续时间 |
boolean SpinButton | 显示上下箭头 |
BSTR DaysLabel | 出现在天数后面的文本(默认:“天 ”) |
BSTR HoursLabel | 出现在小时数后面的文本(默认:“:”) |
BSTR MinutesLabel | 出现在分钟数后面的文本(默认为空) |
boolean ShowDays | 显示天数 |
boolean ShowHoursMinutes | 显示小时/分钟部分 |
void SizeToContent() | 根据属性调整控件大小。应在 OnInitDialog(VB - Form_Load)中调用 |
时长控件事件
名称 | 描述 |
void OnDurationChanged(long lTotalSeconds) | 指示时长已更改 |
时间间隔控件属性和方法
名称 | 描述 |
boolean MergingIsAllowed | 允许时间间隔自动合并 |
boolean MultiplySelection | 允许多选 |
OLE_COLOR IntervalColor | 间隔背景颜色 |
OLE_COLOR IntervalTextColor | 间隔前景色 |
OLE_COLOR BackgroundColor | 控件背景颜色 |
OLE_COLOR ForegroundColor | 控件前景色 |
boolean AddInterval(DATE dateFrom, DATE dateTo, short iStatus) | 添加新的时间间隔(注意:DATE 类型参数的日期部分将被忽略)。间隔的颜色将根据间隔的状态定义(参见 SetStatusColor 方法) |
boolean ChangeInterval(short iIndex, DATE dateFrom, DATE dateTo, short iStatus) | 更改指定的时间间隔 |
boolean RemoveInterval(short index) | 删除指定的时间间隔 |
void RemoveAllIntervals() | 删除所有时间间隔 |
short GetIntervalsCount() | 返回间隔数 |
boolean GetInterval(short iIndex, DATE* dateFrom, DATE* dateTo, short* iStatus) | 获取指定间隔的数据 |
boolean SetIntervalStatus(short iIndex, short iStatus) | 设置指定间隔的状态。间隔的颜色将根据间隔的状态定义(参见 SetStatusColor 方法) |
void SetStatusColor(short iStatus, OLE_COLOR color) | 设置指定状态的颜色。所有具有该状态的时间间隔都将以该背景颜色绘制 |
short GetCurSel() | 返回选中的间隔编号,如果没有间隔被选中则返回 (-1) |
boolean SetCurSel(short index) | 选择指定的时间间隔 |
时间间隔控件事件
名称 | 描述 |
OnAddInterval(short index, DATE FromTime, DATE ToTime) | 用户添加了新的时间间隔 |
OnChangeInterval(short index, DATE FromTime, DATE ToTime) | 用户移动了时间间隔 |
OnRemoveInterval(DATE FromTime, DATE ToTime) | 用户删除了时间间隔 |
OnSelectionChanged(short index) | 选择已更改 |
要求
MS Visual C++ 5.0 SP3 此代码可在您自行承担风险的情况下使用,不提供任何保证。您可以将错误报告和建议发送给 Stas Levin。
版权和使用
BCGDateTime 控件是免费软件。您可以免费将其用作应用程序的一部分进行编译或重新分发。未经作者同意,您不能将其作为软件开发库的一部分进行重新分发。如果源代码随应用程序一起分发,您应在源代码中保留原始版权声明,不做任何更改。