第六部分 表单程序设计
§1 面向对象程序设计
一、对象
对象是对客观事物的抽象,具有属性、方法和事件的实体(数据结构)。
属性:是描述对象的状态和特征的值。
方法:是描述对象行为的过程,它规定了完成特定任务的程序代码。
事件:是对象能识别的动作,当对象定义的事件发生时,系统将执行事件规定的程序代码。
二、对象的引用
在Visual FoxPro中,由于容器对象的存在,对象是可以进行嵌套引用的。为了引用和操作容器类对象,必须确定并标识出对象和与之关联的容器层次。
1.对象的引用关键字
关键字 含义
This 当前对象
Thisform 包含当前对象的表单
Thisformset 包含当前对象的表单集
Parent 对象的上一层容器类对象
2.对象的层次结构与引用方法
Thisfrom.Command1
Thisfrom.Optiongroup1.Option2
Thisfrom.Grid1.Column1.Header1
Thisfrom.Grid1.Column1.Parent.Column2.Text1
3.引用对象的属性
对象的属性既可以在设计对象时设置,也可以在程序运行时设置。
引用对象的属性
格式:对象.属性
功能:引用对象的属性。
Thisfrom.Command1.Caption="排序"
&;&;命令按钮的标题设置为“排序”。
4.调用对象的方法
(1)调用无参数的对象方法
调用对象的方法
格式:对象.方法
功能:调用无参数的对象方法。
Thisfrom.Release
&;&;关闭表单。
(2)调用有参数的对象方法
调用对象的方法
格式:对象.方法(参数1,参数2,…,参数n)
功能:调用有参数的对象方法。
5. 响应事件
当对象规定的事件发生时,包含在事件过程中的代码就会执行,这是对事件的响应。
**系统事件:Visual FoxPro系统自动触发的事件,如创建对象时产生Init事件、释放对象时产生Destroy事件。
**用户事件:由用户的操作触发的事件,如单击鼠标产生Click事件、双击鼠标产生DoubleClick事件、移动鼠标产生MouseMove事件。
*#####Visual FoxPro事件的触发顺序(表单)
序号 对象 事件 说明
1 表单 Load 装载表单
2 数据环境 Init 初始化数据环境
3 对象 Init 初始化对象,从最内层的对象到最外层的容器。
*4 表单 Init 初始化表单
5 …… …… ……
*6 对象 用户事件 用户触发的事件
7 …… …… ……
8 表单 Destroy 销毁表单
9 对象 Destroy 销毁对象,从最外层的容器到最内层的对象。
10 表单 Unload 卸载表单
§2 对话框函数
对话框函数
格式:MessageBox(C1,N,C2)
功能:显示一个用户自定义对话框,它返回的数值表示对话框中按钮的选择。
说明:C1指定在对话框中显示的文本,N指定对话框中的按钮、图标和默认按钮,C2指定对话框标题中显示的文本。
对话框中的图标、按钮和返回值的设置如
下表所示。
表1:对话框按钮
值 按钮
0 只有[确定]按钮
1 有[确定]和[取消]按钮
2 有[放弃]、[重试]和[忽略]按钮
3 有[是]、[否]和[取消]按钮
4 有[是]和[否]按钮
5 有[重试]和[取消]按钮
表2:对话框图标
值 图标
16 “停止”图标
32 “问号”图标
48 “惊叹号”图标
64 “信息(i)”图标
表3:对话框默认按钮
值 默认按钮
0 第1个按钮
256 第2个按钮
512 第3个按钮
表4:对话框返回值
返回值 按钮
1 [确定]按钮
2 [取消]按钮
3 [放弃]按钮
4 [重试]按钮
5 [忽略]按钮
6 [是]按钮
7 [否]按钮
例:显示一个对话框,显示内容为:确实要退出系统吗?,标题为:退出,有[确定]、[取消]按钮和“问号”图标,默认按钮为[取消]按钮。
Messagebox("确实要退出系统吗?",1+32+256,"退出")
§3 表单基础
表单是一种容器类对象,除含有Windows窗口所具有的标准元素外,还可以向表单中添加各种其他类型的对象,如按钮、文本框、表格、图片等。
创建表单 CREATE FORM <表单文件名>
修改表单 MODIFY FORM <表单文件名>
运行表单 DO FORM <表单文件名>
§4 表单设计器
一、数据环境
表单的数据环境是指在创建表单时需要打开的全部表、