65.9K
CodeProject 正在变化。 阅读更多。
Home

BCGDateTime 控件 版本 1.0

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.63/5 (8投票s)

2000年1月27日

viewsIcon

109930

downloadIcon

3055

四种日期/时间 ActiveX 控件集(日期/时间选择器、月份日历、时长控件、时间间隔控件)

  • 下载 BCGDateTime 控件 - 244 Kb
  • 请访问 Stas Levin 的页面 以获取最新更新、讨论区和常见问题解答。

    引言

    BCGDateTime 是四种日期/时间 ActiveX 控件集(日期/时间选择器、月份日历、时长控件、时间间隔控件)

    BCGDateTime 功能

    BCGDateTime 是四种 ActiveX 日期/时间及日历控件的集合。

    • 日期/时间选择器 允许您在单个控件中同时输入日期/时间;
    • 月份日历 允许创建自定义的组织者,支持单日/多日选择,支持周视图和月视图,可以标记特定日期,启用特定时间间隔;
    • 时长控件 允许您编辑事件的时长,例如“3 天 10 小时 15 分钟”。完全可配置!
    • 时间间隔控件  允许您定义每日的时间间隔,例如 10:00AM-10:20AM,3PM-5:30PM

    所有控件均自动从客户计算机的设置中获取日期/时间系统格式。

    如何使用 BCGDateTime 控件

    安装说明

    1. 解压 BCGTimeControls.zip 文件(例如,到 c:\bcg 目录)
    2. 进入 output\release 目录并注册所有控件(regsvr32 BCGDateTime.ocx,regsvr32 BCGDurationCtrl.ocx 和 regsvr32 BCGTimeIntervals.ocx)
    3. 运行 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 控件是免费软件。您可以免费将其用作应用程序的一部分进行编译或重新分发。未经作者同意,您不能将其作为软件开发库的一部分进行重新分发。如果源代码随应用程序一起分发,您应在源代码中保留原始版权声明,不做任何更改。

    © . All rights reserved.