使用 Visual FoxPro 的Calendar 控件
Calendar 控件位于 MSACAL70.OCX 中(在 \WINDOWS\SYSTEM 目录中; 在帮助文件中错误的描述为 MSACAL.OCX)。帮助文件名为 MSACAL70.HLP。该控件提供了在你的应用程序中包含日历的能力。该控件的一个显而易见的用处是当用户在日期型字段上右击鼠标时显示一个日历让用户选择一个日期值。
方法和事件
Calendar 控件中的方法主要用于编程地控制日期,包括 NextDay,NextWeek,NextMonth,PreviousDay,PreviousWeek 和 PreviousMonth。当然也可以提供按钮或其它方法来调用这些方法,但由于用户可以在日历中单击各种控件来修改日期,所以我没有在这方面作过多的探索。
除 Click,DblClick 和 KeyPress 这样的常用事件,Calendar 控件还有 AfterUpdate,BeforeUpdate,NewMonth 和 NewYear 事件,这些事件允许你在用户改变了某些东西后,执行一些可能需要的特殊的处理。我想你会用到的最常用的事件是 DblClick,该事件可用于当用户选择了一个日期后,释放或隐藏 Calendar 控件.
属性
Calendar 控件的属性比它的方法和事件更有趣。你可能想设置一些属性,如颜色(BackColor,DayFontColor,GridFontColor,GridLinesColor,TitleFontColor),字体 (DayFont,GridFont,and TitleFont),和控件的其它初始显示属性(DayLength,FirstDay,GridCellEffect,MonthLength,ShowDateSelectors,ShowDays,ShowHorizontalGrid,ShowTitle,and ShowVerticalGrid),这些属性可以通过右击菜单从 Calendar 控件属性表中进行访问。Value 属性包含在日历控件中选定的日期,Day,Month 和 Year 属性包含日期的相关部分的值。
通常,你会设置控件的 Value 来指定一个日期(例如,在控件的 Init 事件中),该日期是被高亮显示的默认日期,在用户选定一个日期后,可以从 Value 中读取用户选择的日期值。
示例
我创建了一个包含日历控件和一些按钮的容器类(源代码中的 ACTIVEX.VCX 类库中的 SFCalendaron 类) 和一个 SFDateSpinner 类(源代码中的 CONTROLS.VCX 类库中) ,适用于在用户从右击菜单选择"日历"时实例化 SFCalendar。
SFDateSpinner 类是一个容器类,拥有一个文本框和数码器(只有上下键头是可访问的)。数码器用于增加和减少文本框中的日期值,文本框的 KeyPress 方法中的代码模仿快速填充日期按键。当用户在文本框上右击时,调用 ShortcutMenu 方法来显示一个快捷菜单(采用硬编码并封闭于控件的该方法中)。如果用户从菜单中选择了 "日历",会调用 ShowCalendar 方法。该方法从 cCalendarClass 属性(该属性的默认值是 SFCalendar )是指定的类中,实例化一个对象。NEWOBJ.PRG 用于确保存该类所在的类库是打开的。
SFCalendar 控件接收一个对象参数,因此它可以在对象释放前修改对象的值为用户选择值。当用户双击一个日期或选择 保存 或 退出 按钮时,该对象被释放。
源代码中的 CALENDAR 表单包括一个 SFDateSpinner 对象,因此你可以试一试这些类。
- · 什么是项目管理器,数据库和表的区别
- · FOXPRO 常用的对象、属性、事件、方法(1)
- · 使用FOXPRO编一个完整的软件
- · Foxpro 软件的编译及制作安装盘
- · Foxpro 更多对象
- · 用新的控件改进人事管理(二)
- · Foxpro 更多属性
- · Foxpro 更多方法
- · Foxpro 报表及标签
- · Foxpro OLE控件
- · Foxpro 网络版软件初步
- · Foxpro 更多编程命令
- · Foxpro 数组的应用
- · Foxpro 宏替换的应用
- · Foxpro 默认的工作环境
- · Foxpro 更改默认设置
- · Foxpro ON命令
- · Foxpro 进一步订制VFP的向导和生成器
- · 附表:"选项"对话框的说明(1)
- · 附表:"选项"对话框的说明(4)
- · foxpro 取得离线视图
- · foxpro 更新源表
- · foxpro 刷新(Refreshing) 离线视图
- · foxpro 多个本地数据
- · foxpro 结论
- · 使用 Visual FoxPro 的 ImageList 控件
- · 使用 Visual FoxPro 的Calendar 控件
- · 使用 Visual FoxPro 的Slider 控件
- · SQL Server 6.5 基本图书馆应用程序示例数据
- · select - SQL的工作流程
- · union的使用

