2015年计算机二级VFP考试基础教程(32)
发布时间:2010/11/27 23:16:59 来源:城市学习网 编辑:ziteng
表单(form)在vfp中,是一种最重要,最常见的容器类对象,在表单中可以添加各种对象,比如文本框,这些对象用于输入或输出等操作。在程序运行时,表单是用户与应用程序之间进行交互的窗口,也就是说,在开发vfp程序时,一般都使用表单作为应用程序的界面。
一。创建表单:
方式一:单击"文件"→"新建",对话框中选"表单",在弹出的对话框中选"新建"表单,则系统弹出一个空白的表单。用户即可在这个空白的表单上进行设计。
方式二:在项目管理器中,选中"表单",单击右侧的"新建"按钮,
方式三:在命令窗口中输入"create form 表单名"命令,一样可以打开表单设计器。
二。表单设计器中的操作:
1.选择表单控件:单击表单控件可以选择该控件;按住ctrl不松再单击多个表单控件,可同时选择多个表单控件。如果在表单设计器中拖动鼠标,在表单上画一个区域,则该区域内的所有控件都被选择。
2.向表单中添加控件:单击表单控件工具栏中的控件,光标移至表单中该控件的位置,单击或拖动鼠标画出该控件大小后松开。
3.移动表单中控件的位置:单击要移动位置的表单控件,拖动其到指定位置,或者单击选中该控件后,用方向键移动
4.改变控件的大小:鼠标单击控件,控件四周出现黑色的小方块,再将指针指向小方块,待指针变成双箭头时拖动即可。
5.删除控件:用鼠标单击选中控件,按delete键即可。
6.复制控件:单击选中控件,按组合键ctrl+c复制,然后鼠标在目的地单击,按组合键ctrl+v粘贴。
说明:复制控件时,控件内的代码被一起复制。这是一个很有用的操作,比如,我们做一个表单,里面需要很文本框控件,我们可以先做出来一个,其余的复制即可。
三。表单的数据环境:
表单中的数据环境是一个容器,用于设置表单中使用的表和视图以及表单所要求的表之间的关系。这些表和视图及表之间的关系都数据环境容器中的对象,可以分别设置它们的属性。在执行表单时,数据环境中的表和视图被自动打开,表之间的关系被自动建立。当表单被释放时,数据环境中设置的表和视图被自动关闭。
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 当方法中有一个运行错误时触发
六.表单的方法:表单常用的方法如下表:
方法 功能
release 从内存中释放表单或表单集
refresh 重新绘制表单或控件,并更新所有的值
hide 设置visible属性为.F.来隐藏表单(集),使表单集不可见,但未从内存中清除
show 设置visible属性为.T.来显示表单(集),使表单(集)为活动对象.参数:1-模式 2-无模式(默认)
move 移动一个对象
draw 重新绘制表单对象
addobject 在运行时给容器对象增加一个对象
saveas 将对象存入scx文件中
cls 清除一个表单中的图形和文本
pset 给表单上的一个点绘制指定的颜色
line(起点X,起点Y,终点X,终点Y) 在指定位置绘制直线
box([起点X,起点Y,]终点X,终点Y) 在指定位置画方框,其他参数由下列属性指定:
度量单位-scalemode 线宽-drawwith 方式-drawmode
风格-drawstyle 填充颜色-fillcolor 填充风格-fillstyle
略起点,则以currentX,currentY作为起点
circle(半径,圆心[,纵横比]) 在表单上绘制一个圆或一段圆弧,其他参数同box
print 在表单对象上显示一个字符串
七。表单文件的执行和关闭:
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用于关闭当前表单