表单(form)在vfp中,是一种最重要,最常见的容器类对象,在表单中可以添加各种对象,比如文本框,这些对象用于输入或输出等操作。在程序运行时,表单是用户与应用程序之间进行交互的窗口,也就是说,在开发vfp程序时,一般都使用表单作为应用程序的界面。
一。创建表单:
方式一:单击"文件"→"新建",对话框中选"表单",在弹出的对话框中选"新建"表单,则系统弹出一个空白的表单。用户即可在这个空白的表单上进行设计。
方式二:在项目管理器中,选中"表单",单击右侧的"新建"按钮,如图11
方式三:在命令窗口中输入"create form 表单名"命令,一样可以打开表单设计器。
二。表单设计器中的操作:
1.选择表单控件:单击表单控件可以选择该控件;按住ctrl不松再单击多个表单控件,可同时选择多个表单控件。如果在表单设计器中拖动鼠标,在表单上画一个区域,则该区域内的所有控件都被选择。
2.向表单中添加控件:单击表单控件工具栏中的控件,光标移至表单中该控件的位置,单击或拖动鼠标画出该控件大小后松开。
3.移动表单中控件的位置:单击要移动位置的表单控件,拖动其到指定位置,或者单击选中该控件后,用方向键移动
4.改变控件的大小:鼠标单击控件,控件四周出现黑色的小方块,再将指针指向小方块,待指针变成双箭头时拖动即可。
5.删除控件:用鼠标单击选中控件,按delete键即可。
6.复制控件:单击选中控件,按组合键ctrl+c复制,然后鼠标在目的地单击,按组合键ctrl+v粘贴。
说明:复制控件时,控件内的代码被一起复制。这是一个很有用的操作,比如,我们做一个表单,里面需要很文本框控件,我们可以先做出来一个,其余的复制即可。
Visual FoxPro基础教程完整版三。表单的数据环境:
表单中的数据环境是一个容器,用于设置表单中使用的表和视图以及表单所要求的表之间的关系。这些表和视图及表之间的关系都数据环境容器中的对象,可以分别设置它们的属性。在执行表单时,数据环境中的表和视图被自动打开,表之间的关系被自动建立。当表单被释放时,数据环境中设置的表和视图被自动关闭。
1.数据环境的打开:右击表单空白处,选"数据环境"命令,如图1,
此时会弹出一个对话框,如图2,
我们选中"工资情况",单击"添加",再单击"关闭",即可打开"数据环境"容器,如图3.2.向数据环境中添加表或视图:在数据环境设计器中右击,选"添加"命令,如图4,
我们在弹出的对话框中选中"职工档案",单击"添加",再单击"关闭",如图5,
这样我们就把"职工档案"表也添加到表单的数据环境中了,添加后的数据环境如图6,
即现在的数据环境中有两个表。
3.在数据环境中移动表或视图:在数据环境设计器中单击选中要移动的表或视图,按右键,选"移动".
4.在数据环境中设置关系:如果加入数据环境的表具有在数据库中设置的关系,则这些关系自动带入数据环境中。如果表之间没有关系,则可在数据环境中进行设置表之间的临时关系。若要在数据环境中设置临时关系,可从主表中拖动字段到相关表中相匹配的索引标识。在数据环境中设置了一个临时关系后,会在表之间出现一条连线来指示这个关系。例如,我们在数据环境中拖动"工资情况"表的"编号"字段到"职工档案"表的"bh1"索引标识上,即在这两个表之间建立了一个临时关系,如图7
四。表单常用的属性:见下表:
属性 | 默认值 | 功能 |
caption | form1 | 指定表单标题栏显示的文本 |
name | form1 | 指定表单对象名,在程序设计中可以通过引用表单名来引用表单 |
borderstyle | 3 | 决定表单边框:0-无边框,1-单线边框,2-固定对话框,3-可调边框 |
maxbutton | .T. | 控制表单是否有最大化按钮 |
minbutton | .T. | 控制表单是否有最小化按钮 |
windowstate | 普通 | 控制表单是普通(0),最小化(1),最大化(2).如windowstate为2,则maxbutton和minbutton将不起作用. |
alwaysontop | .F. | 控制表单是否总是处在其它打开的窗口之上,即防止所引用的表单被其它表单所覆盖 |
autocenter | .F. | 控制表单运行时是否自动在vfp主窗口居中 |
moveable | .T. | 控制表单运行时,是否可移动表单到屏幕的新位置上 |
visible | .T. | 指定表单在运行时是可见的还是隐藏的 |
closable | .T. | 指定表单运行时,用户是否能够通过单击"关闭"按钮来退出表单 |
windowtype | 无模式 | 控制表单是无模式还是模式表单 0-无模式,用户不必关闭表单就可方问其他界面 1-模式,用户必须关闭当前表单方可访问其他界面 |
事件 | 触发时间 |
activate | 当一个表单变成活动表单时触发 |
deactivate | 表单从活动变成不活动时触发 |
init | 当表单第一次创建时触发,一般将表单的初始化代码放在其中 |
load | 创建表单前触发,事件发生在init事件之前.因为此时表单中的控件尚未建立,所以该事件的代码不能用于处理表单中的控件,但可用来打开数据库和表等 |
unload | 释放表单是触发,该事件发生在destroy事件之后 |
click | 在鼠标单击表单时触发 |
dbclick | 在鼠标双击表单时触发 |
destroy | 当释放表单时触发 |
error | 当方法中有一个运行错误时触发 |
七。表单文件的执行和关闭:
1.执行表单文件:
(1).在表单设计器中执行表单:按右键,在快捷菜单中选择"执行表单",或在表单菜单中选择"执行表单"菜单项
(2).在项目管理器中执行表单:在项目管理器中选中表单名,单击右侧的"运行"按钮
(3).在在程序中调用执行:在表单设计器中直接执行表单用于系统开发阶段的调试工作,实际应用中,表单一般通过程序代码调用执行,调用命令如下:
格式:do form 表单文件名 [name 表单名] [with 参数表] [to 变量名]
说明:
Ⅰ。name表单名指定执行表单的名字,以后引用该表单时使用这个名字
Ⅱ。with参数表用于向表单的init事件代码传递参数。如果执行的是表单集,要求表单集的windowtype为0(无模式)或(1模式),参数表用于向表单集的init事件传递代码
Ⅲ。to 变量名接收表单unload事件的return语句的返回值,但要求表单的windowtype为1(模式)
2.激活事件处理:
格式:read events
说明:只有执行了read events,vfp才启动事件处理。当执行clear events后,系统停止事件处理
3.关闭表单:
格式:表单引用名。release
例如:thisform.release用于关闭当前表单