第7章表单设计及应用computercenter.jlu.edu.cn吉林大学计算机教学与研究中心2/37表单表单(Form):在VFP中,将Windows操作系统中的窗口称为表单。表单是用户与应用程序之间进行交互的主要界面表单设计工具:表单向导和表单设计器。3/377.2表单向导方法:“文件”菜单→“新建”→选定文件类型为“表单”→“向导”按钮→进入“向导选取”对话框。实例4/377.3表单设计器表单设计器的功能创建和修改表单向表单中添加各类控件设置表单及其他控件的属性编写各类事件的代码。5/377.3.1新建表单文件方法一:“文件”菜单→“新建”→选定文件类型为“表单”→“新建文件”按钮。方法二:通过命令建立表单。命令格式:CreateForm[表单文件名]语句说明:命令中可以只写表单文件主名,系统默认表单文件的扩展名为SCX;省略表单文件名,则直接进入表单设计器,待保存文件时再为表单文件命名。6/377.3.2表单设计器的基本组成表单设计器窗口属性窗口表单控件工具栏7/377.3.3保存表单保存表单之后,系统在磁盘上将产生两个文件:扩展名为SCX的表单文件和扩展名为SCT的表单备注文件。方法一:“文件”菜单→“保存”(或“另存为”)方法二:表单设计器窗口的“关闭”按钮方法三:按Ctrl+W组合键。8/377.3.4打开已有表单文件方法一:“文件”菜单→“打开”→选择“文件类型”为“表单”→选定表单文件→“确定”方法二:“打开”常用工具按钮方法三:通过命令修改表单ModifyForm[表单文件名]说明:如果不指定表单文件名,则其操作方法与前两种方法类似。如果指定表单文件名,则直接进入表单设计器。9/377.3.5运行表单方法一:右击表单→“执行表单”命令。方法二:“表单”菜单→“执行表单”命令。方法三:常用工具栏的“运行”按钮!方法四:按Ctrl+E组合键。1.表单处于打开状态时10/377.3.5运行表单方法一:“程序”菜单→“运行”→选择“文件类型”为“表单”→选定表单文件名→“运行”按钮方法二:按Ctrl+D键2.表单处于未打开状态时11/377.3.5运行表单方法三:通过命令运行表单。DoForm表单文件名[Name表单引用名]2.表单处于未打开状态时说明:选项Name的作用是:在打开表单的同时为表单指定引用名,以便使此表单在其他位置可以更方便地被引用,表单引用名的命名规则和作用域与内存变量相同。12/377.3.6快速创建表单在表单设计器中,利用“表单生成器”可以简单、快速地为某个数据表中的字段变量产生相应的控件对象:方法二:右击表单→“生成器”。方法一:“表单”菜单→“快速表单”例7.513/37在设计表单时,利用表单控件工具栏可以在表单上添加控件。7.4表单上控件的设置隐藏/显示表单控件工具栏的方法方法一:“显示”菜单→“表单控件工具栏”方法二:单击常用工具按钮。14/371.选定控件对象鼠标单击某个对象后,其周围出现了尺寸控点,这表明该对象是当前选中的对象。7.4.2设置控件对象同时选定多个对象:方法一:按住Shift键,单击欲选定的对象。方法二:拖动鼠标拉出的虚线框所圈起来的所有对象都处于选定状态。15/37Tab键次序:就是在表单运行时,连续按Tab键,光标所经过各个控件对象的顺序。系统默认的Tab键次序是向表单中添加控件对象的先后顺序。调整Tab键次序的方法:“工具”菜单→“选项”命令→选择“表单”选项卡→在“Tab键次序”框中选择“交互”(默认)或“按列表”。设置Tab键的次序16/37“交互”式:单击控件以改变Tab键次序值“按列表”式:拖动“Tab键次序”对话框的对象左侧的按钮改变其上下位置,从而改变其Tab键次序。设置Tab键的次序方法:“显示”菜单→“Tab键次序”17/37当运行表单时,数据环境中的表就会自动打开;表单运行结束时,自动打开的表也会随着表单的关闭而关闭。数据环境(Dataenvironment)是个容器,可以包括表单中要用到的表、视图和关系;表、视图和关系都可以看作是数据环境中的对象。7.4.3数据环境表关系18/37利用数据环境设计器创建或编辑数据环境进入数据环境设计器:方法一:“显示”菜单→“数据环境”。方法二:右击表单→“数据环境”2.数据环境设计器方法三:表单设计器工具栏的“数据环境”按钮19/37数据环境设计器处于打开状态时添加表:右击数据环境设计器窗口的空白处→“添加…”命令。3.数据环境的设置设置表间关系用鼠标将父表中的关联字段拖动到子表的相关字段上,如果子表中的相关字段没有索引,则系统会提示创建索引20/373.数据环境的设置移去表:仅是将表从数据环境中移走,并不能从磁盘上删除表。同时与此表有关的所有关系被解除。在数据环境设计器中:方法一:选定表→“数据环境”菜单→“移去”方法二:右击表→“移去”。方法三:选定表→按Del键。21/37面向对象程序设计OOP(Object-OrientedProgramming)方法,在程序设计时,可以利用对象来简化程序设计的过程,为应用程序用户提供可视化界面。在VFP中,对象可以分控件和容器两种。7.5面向对象程序设计简介控件对象:不能包含其他对象的基本对象容器对象:能够包含其他对象的对象。其本身不能输入数据;一个容器对象也可能包含另一个容器对象。22/37属性用于描述对象的特征。属性由属性名和属性值组成。通过设置其属性值可以改变对象的特征,而通过引用属性值可以实现对象之间的信息交换。7.5.2对象的属性及其设置23/37静态设置:在表单设计器中,通过属性窗口设置对象属性。动态设置:在程序代码中,利用语句修改对象的属性。2.对象属性的设置24/37打开对象的“属性”窗口方法一:“显示”菜单→“属性”命令方法二:右击对象→“属性”命令2.对象属性的设置方法三:表单设计器工具栏的按钮25/37对象选择框选项卡属性值设置框属性选择框属性说明框属性名属性值3.对象的“属性窗口”26/377.5.3对象的事件及触发条件事件(Event):指一种由系统预先定义的一个动作。一旦触发某事件,系统就会自动执行该事件的程序代码,当事件程序执行完毕后,系统又会等待新的事件发生。27/377.5.3对象的事件及触发条件单击触发该命令按钮的Click事件代码事件代码系统执行Click事件中的代码程序执行结果是:1128/37面向对象程序是在事件驱动下运行。触发事件可以分为3种方式:用户触发:当用户进行某种操作时可能触发对象的相关事件。例如:单击。系统触发:当系统内部发生变化时,可能触发对象的相关事件。例如,计时器的Timer事件;触发事件的条件代码触发:在程序运行过程中,执行到对象某些方法时,将触发对象的相关事件。29/37在代码编辑窗口编写事件代码。进入代码编辑窗口的方法:方法一:双击对象。方法二:右击对象→“代码”命令。编写事件代码方法三:“显示”菜单→“代码”命令。方法四:双击属性窗口中的事件名称。选择对象选择事件编写事件程序30/37方法是VFP为对象设计的内部通用过程,可以使对象执行某种操作,方法的程序代码由系统内部定义,对用户是不可见的。Release:关闭表单并释放表单所占用的内存空间。Refresh:刷新表单或控件上的相关数据。调用表单的Refresh方法时,系统自动调用表单中控件的Refresh方法。7.5.4对象的方法及作用31/37Show:使对象可见,并将对象的Visible属性设置为.T.。Hide:隐藏对象,并将对象的Visible属性设置为.F.。Setfocus:使对象获得焦点。仅有Enabled和Visible属性值均为.T.的对象才能获得焦点7.5.4对象的方法及作用32/37在面向对象程序设计中,程序代码可以通过对象的引用来指定对象的属性或对象的方法。引用对象的方式有绝对引用和相对引用两种7.5.5VFP对象的引用33/37绝对引用绝对引用:从包含对象的最外层容器名开始,由外向内,一层一层地引用,对象之间用圆点“.”隔开。引用格式:表单名.[对象名1.][对象名2.]……对象名n.属性名|方法名是表单文件名或者是DoForm…Name…语句中命名的引用名。各对象名均是对象的Name属性值。由左到右是逐级包含关系。是最后一级对象的属性或方法,即对象名n是真正被操作的对象。34/37相对引用:从当前对象位置开始,逐层地找到要引用的对象。相对引用对象时,通常以下列关键字开头:ThisForm:表示程序代码所在的表单。This:表示程序代码所在方法或事件直接隶属的对象。相对引用引用格式:ThisForm|This.[对象名1.][对象名2.]…[对象名n.]属性名|方法名例如:This.CaptionThisForm.CaptionThisForm.Command1.CaptionThisForm.Release35/37Parent属性Parent:对象的一个属性,表示当前对象所在的直接容器(即父对象)。例如:表单中有标签Label1和命令按钮Command1两个控件,当前对象为命令按钮,则对标签Caption属性的正确引用为:This.Parent.Label1.Caption36/37动态设置对象属性动态设置属性:在表单运行时能修改对象的属性值,即利用代码完成对象属性的更改设置格式:对象的逐级引用.属性=属性值只有在表单运行时才有效,当表单处于编辑状态时,此方法无效。可以是一个表达式,或其他对象的属性值,但其数据类型与待设置的对象属性的数据类型必须一致。37/37表单构成列表框命令按钮复选框组合框文本框选项按钮组标签38/37控件对象列表框复选框组合框文本框标签39/37容器对象命令按钮组选项按钮组40/37利用表单向导制作表单1.步骤1-字段选取:单击“数据库和表”右侧的按钮→选择CJB表→单击,使CJB的全部字段从“可用字段”添加到“选定字段”中→单击“下一步”按钮。2.步骤2-选择表单样式:选择“标准式”样式和“文本按钮”按钮类型→单击“下一步”按钮。41/373.步骤3-排序次序:在“可用的字段或索引标识”列表框中,选定学号字段,单击“添加”按钮→单击“下一步”按钮。利用表单向导制作表单4.步骤4-完成:在“请键入表单标题”框中输入:成绩→单击“预览”按钮查看形成的表单效果→单击“返回向导”按钮回到表单向导对话框→单击“完成”按钮→在“另存为”对话框内,保存表单为“CJ”→单击“保存”按钮。computercenter.jlu.edu.cn吉林大学计算机教学与研究中心85168162