Visual FoxPro 示例类库对功能进行了封装,使您可以很容易地将它们添加到自己的应用程序中。Solutions 示例对大多数的类都描述了使用方法。这些示例类包含在下面的文件中:
Buttons.vcx 包含下面的类。
类 | 说明 |
CmdOK | 一个命令按钮,用来释放它所在的表单。如果这个表单处于一个表单集中,cmdOK 释放这个表单集。 |
CmdCancel | CmdOK 的一个子类,标题属性被设置为“Cancel”。 |
CmdHelp | 一个命令按钮,可激活它所在的表单对应 HelpContextID 的帮助信息。 |
MailBtn | 带有一个命令按钮、一个 Microsoft MAPI Message 控件和一个 Microsoft MAPI Session 控件的容器。命令按钮的 Click 事件代码可注册到邮件上,并组成一个消息,此消息包含一个表中的当前记录值。
如果要查看使用 MailBtn 类的有关信息,请参阅在 Visual FoxPro 的 SAMPLES\SOLUTION\OLE 目录下的 SENDMAIL.SCX 文件。 |
VCR | 一组表单定位按钮,允许用户将记录指针在表中向上、向下移动或者定位到表的头部和底部。
将 Skiptable 属性设置为想要移动记录指针的表的别名。如果 Skiptable 为空,记录指针将在当前选定的工作区内移动。 |
Samples.vcx 包含下面的类。
类 | 说明 |
CboFontName | 一个组合框,显示当前系统内全部可用的字体。 |
CboFontSize | 一个组合框,为某个字体显示全部的可用字体大小。将一个字体名字传递给 FillList,可激活这个组合框。 nLargestFont 和 nSmallestFont 属性可以定出字体大小的上界和下界。您可以将此控件和 cboFontName 类连在一起使用。在 cboFontName 对象的 InteractiveChange 事件中,调用 cboFontSize 对象的 FillList 方法程序:
有关使用此类的示例,请参阅在同一类库中的 tbrEditing 类。 |
Clock | 一个容器,显示当前的日期和时间。
在 Solutions 示例中, “Display a system clock”组件也使用 Clock 类。 |
Datachecker | 一个用来管理数据冲突的自定义类。如果将缓冲区里的数据写入表中时遇到了数据变化,在 Buttons.vcx 中 VCR 类的 Error 事件代码就会调用该类的 CheckConflicts 方法程序。
在 Solutions 示例中,“Run multiple instances of a form”组件使用此类检查数据冲突。 有关的详细内容,请打开此类,并阅读代码注释。 |
Distinct_values _combo |
一个组合框,列出 ControlSource 别名中不同的值。例如,如果将此类添加到一个表单上,并将 ControlSource 属性设置为“customer.country”,则这个组合框将显示 customer 表中的所有国家/地区,但对相同的国家/地区名字只显示一次。 |
FrmNoTitle | 带有属性设置的一个表单,不显示标题。如果想在一个独立的窗口上显示信息,可以在此类的基础上创建一个对象,然后使用表单的图形方法程序。
在 Solutions 示例中,“Display line animation on a form”组件也使用不带标题的表单显示动画。 |
Lookup_combo | 一个组合框,很容易用它显示一个字段的值。例如,当把 ControlSource 绑定到另一个字段上(如一个公司的 id 号)时,可显示公司的名字。该类有四个自定义的属性:
order_column: 用来给表排序的列(可选)。 lookup_table: 用来填充组合框的表。 display_column: 要显示的表的列。 return_column: 值被写到 ControlSource 中的列。 |
MoverLists | 带有两个列表框和四个命令按钮的容器。用户可以通过单击命令按钮或者直接拖放,将选定的项从一列移动到另外一列上。
需要确保每个列的 RowSourceType 属性设置为 0,并使用 AddItem 方法程序向源列表框中添加项。 MoverLists 有三个自定义的属性: CanDropIcon: 在拖放时,用来显示有效操作的光标。 NoDropIcon: 当进行放下操作时,不能将选定的项添加到列表框中时,所显示的光标。 DragThreshold: 在开始拖动操作之前,像素的数目。 在 Solutions 示例中,“Move items between list boxes”组件也描述了如何使用此类。 |
Print_reports | 一个模式表单,允许用户预览报表,也可将报表打印或者输出到一个文件中。可以将此类的 cReport 属性设置为报表名字,或者将这个报表名字作为一个参数传递:
|
QBF | 带有三个命令按钮的容器。将此类和 VCR 类添加到一个带有数据绑定控件的表单上。当用户选择“Enter QBF”时,控件中的值被取消。当用户选择“Query”时,用户输入到控件的值指定表上所用的筛选条件。
控件需要一个 ControlSource 设置,而控件的父类只能为表单,不能为其他的容器。 在 Solutions 示例中,“Create a query by example form”组件也描述了如何使用此类。 |
Resizable | 一个自定义的类,在运行时刻,可重新定义表单上控件的尺寸和位置,并保持它们的相对尺寸和位置。将此类添加到一个表单上,并在表单的 Resize 事件里,调用 AdjustControls 方法程序:
Resizable 需要您设置两个自定义的属性: RepositionList: 一个字符串,包含要重新定位的对象的全部类。 ResizeList: 一个字符串,包含要重新定义大小的对象的全部类。 在 Solutions 示例中,“Resize and reposition controls at run time”组件也描述了如何使用此类。 |
RTFcontrols | 一个容器类,包含 cboFontName、cboFontSize 以及“粗体”、“斜体”和“前景颜色”使用的命令按钮。在 cboFontName 的 InteractiveChange 事件中刷新 cboFontSize 控件,但对于“粗体”、“斜体”和“前景颜色”使用的命令按钮来说,没有添加附加的功能。
在 Solutions 示例中,“Use the RichText control”组件也描述了如何使用此类。 |
SoundPlayer | 此类可以用来演示一个非可视的多媒体文件,如一个 .WAV 声音文件。有关的详细内容,请参阅“示例多媒体类”。 |
StopWatch | 带有一个定时器和标签的容器类,可显示跑表的值。
StopWatch 有三个自定义的方法程序可供您使用: Start: 启动跑表。 Stop: 停止跑表。 Reset: 将显示的时间重新设置为 0:00。 在 Solutions 示例中,“Display a stop watch”组件也描述了如何使用此类。 |
TbrEditing | tbrEditing 有一个自定义的属性和一个方法程序可供您使用:
nAppliesTo Property: 本属性可设置为 1、2 或 3:
Refresh: A将一个对象的引用作为参数接受,并将所有的编辑控件设置为该对象相应的值。并在一个控件的 GotFocus 事件中调用 Refresh 方法程序。 在 Solutions 示例中,“Change font attributes”组件也描述了如何使用此类。 |
Videoframe | 此类可以用来演示一个可视的多媒体文件,如 Windows 的一个视频文件。有关的详细内容,请参阅“示例多媒体类”。 |
Typelib.vcx 包含下面的类。
类 | 说明 |
Typelib | 一个容器类,包含一个 Foxtlib.ocx 控件。此类的 ExportTypeLib 方法程序调用 Foxtlib 控件的方法程序来读取 .OLB、.TLB 和 .EXE 文件中的类型库的信息。
在 Solutions 示例中,“View type library information”组件也描述了如何使用此类。 |
Utility.vcx 包含下面的类。
类 | 说明 |
Arraylib | 一个自定义的类,其方法程序可以插入、删除数组元素,搜索数组列。 |
Execsp | 一个自定义的类,其方法程序可以在一个远程数据库上很方便的进行 SQL pass-through,并能执行存储过程。 |
Filelib | 一个自定义的类,其方法程序可以对文件名字进行操作时,执行一般的字符串任务,诸如移去文件扩展名,向路径添加一个反斜杠,等等。 |
Menulib | 一个自定义的类,其方法程序可以根据一个数组创建一个快捷菜单。
在 Solutions 示例中,“Create dynamic shortcut menus”组件也描述了如何使用此类。 |
Registry.prg 包含下面的类。
类 | 说明 |
FileReg | Registry 类的一个子类,其方法程序可以读取具有特殊的文件扩展名和路径的应用程序。 |
FoxReg | Registry 类的一个子类,其方法程序可以向 Windows Registry 中读写 Visual FoxPro 设置。 |
ODBCReg | Registry 类的一个子类,其方法程序可以读取 ODBC 数据源和驱动程序的信息。 |
OldINIReg | Registry 类的一个子类,其方法程序可以向一个 .INI 文件中进行读写操作。 |
Registry | 一个自定义的类,其方法程序可以访问 Windows API 函数来进行 Windows 注册操作。 |
有关使用注册类的示例,请运行 Visual FoxPro 的 Samples\Solution 文件夹中的 Solution.app 文件。