第2章VisualFoxPro6.0数据库与面向对象程序设计第8节表单设计与应用创建表单表单设计器表单的数据环境表单与常用控件的设计3表单=屏幕或窗口一、创建表单表单(Form)是VFP应用程序的用户界面,各种对话框和窗口都是表单不同的外观表现形式在表单上拥有各种控件对象,可以响应用户或系统事件,使用户尽可能方便而直观地完成信息管理工作在VFP中可以利用表单设计器或表单向导可视化地创建表单文件,并通过运行表单文件来生成表单对象(一)使用表单向导创建表单使用向导创建表单时,用户只要按照向导提供的操作步骤和屏幕提示一步一步地进行就能完成在项目管理器中选择“表单”项,按“新建”按钮,在“新建表单”对话框中按“表单向导”按钮,即可打开“向导选取”对话框1.表单向导用于创建基于一个表或视图的简单表单2.一对多表单向导用于创建基于两个具有一对多关系的表的表单。字段既要从主(父)表中选取,也要从子表中选取,还要建立两表之间的联接关系。一对多表单一般使用文本框来表达父表,使用表格来表达子表(二)使用表单设计器创建表单1.启动表单设计器⑴项目管理器:选择“表单”项,按“新建”按钮,在“新建表单”对话框中选择“新建表单”项⑵菜单:选择“文件/新建”菜单命令,在“新建”对话框中选择“表单”文件类型,按“新建文件”按钮⑶命令:CREATEFORM2.快速创建表单启动表单设计器后,选择“表单/快速表单”菜单命令,可打开表单生成器窗口制作表单,或选择表单快捷菜单的“生成器”命令(三)表单的保存与运行1.保存表单文件。选择“文件/保存”菜单命令2.运行表单。运行表单文件生成表单对象⑴项目管理器:选择要运行的表单,按“运行”按钮⑵在表单设计器环境下,选择“表单/执行表单”菜单命令⑶选择快捷菜单的”执行表单”命令⑷按工具栏上“运行”!运行按钮⑸选择“程序/运行”菜单命令⑹命令:DOFORM表单文件名3.修改表单。打开表单设计器修改表单。⑴项目管理器:选定要修改的表单,单击“修改”按钮。⑵命令:MODIFYFORM表单文件名二、表单设计器表单设计器是VFP系统提供给用户的一个创建和修改表单的可视化工具(1)可以以交互方式对表单本身的一些外观属性进行设置;(2)还可以添加表单控件、管理表单控件以及设置表单数据环境等(一)表单设计器环境启动表单设计器后,表单设计器的窗口除了包含一个新建或待修改的表单外,在VFP的主窗口中还将显示“属性”窗口、“表单控件”工具栏、“表单设计器”工具栏以及“表单”菜单等,它们一起构成了一个可视化的表单设计环境10进行VFP表单设计时经常使用的设计工具主要有:表单设计器、表单向导、属性窗口、生成器、数据环境设计器、对话框、控件工具栏、布局工具栏、调色板工具栏、代码设计窗口、浏览器等,如图所示。11工具栏说明:①表对象的Tab键顺序;②VFP的数据环境;③属性窗口;④代码窗口;⑤表单控件工具栏;⑥调色板工具栏;⑦布局工具栏;⑧表单生成器;⑨自动格式(启动“自动格式生成器”,为所选表单控件提供显示风格。)12表单、属性窗口和控件工具栏(二)利用表单控件工具栏添加控件1.表单控件工具栏提供设计表单界面的各种控件按钮。选择“显示/工具栏”菜单命令可以显示或隐藏该工具栏按选定对象标签编辑框命令按钮组复选框列表框表格计时器OLE容器控件线条容器超级链接生成器锁定查看类文本框命令按钮选项按钮组组合框微调控件图像页框OLE绑定控件形状分隔符按钮锁定14按钮按钮名称功能说明选定对象用于移动和改变控件的大小。在创建一个控件后该按钮被自动选定。查看类可以选择显示一个已注册的类。标签创建标签控件,用于保存不希望用户改动的文本信息。文本框创建文本框控件,一般用于保存单行文本。编辑框创建编辑框控件,一般用于保存多行文本。命令按钮创建命令按钮控件,用于执行命令。命令按钮组创建命令按钮组控件,用于把相关的命令编成组。单选按钮组创建选项按钮组控件,用户从多个选项选择一项。复选框创建复选框控件,用户可以进行多项选择。组合框创建组合框控件,用于创建一个下拉式组合框或下拉式列表框,用户可以从列表中选择一项或输入一个值。列表框创建列表框控件,用于显示供用户选择的列表项。微调控件创建微调控件,用于接收给定范围之内的数值输入。表格创建表格控件,用于在电子表格样式的表格中显示数据。图像在表单上显示图像。15计时器创建计时器控件。页框创建并显示控件的多个页面。ActiveX控件向应用程序中添加OLE对象。ActiveX绑定控件与OLE容器控件相同,可用于向应用程序中添加OLE对象,与OLE容器控件不同的是,ActiveX绑定控件绑定在一个通用字段上。线条设计时用于在表单上画各种类型的线条。形状设计时用于在表单上画矩形、圆、正方形等各种类型的形状图。分隔符在工具栏的控件间加上空格。容器将容器控件置于当前的表单上。超级链接创建一个超级链接对象。生成器锁定为任何添加到表单上的控件打开一个生成器。按钮锁定可以添加同种类型的多个控件,而不需要多次按此控件的按钮。(二)利用表单控件工具栏添加控件2.向表单中添加控件在表单控件工具栏中按要添加的控件按钮,然后将鼠标移到表单窗口的合适位置,按下鼠标并拖动鼠标至所需要的大小,再松开鼠标若直接单击鼠标,则控件大小按系统默认值确定如果要连续添加同一类型的控件,可以先在工具栏中按“按钮锁定”按钮,然后再选择要添加的控件(三)在属性窗口设置对象属性选择“显示/属性”菜单命令可以显示或隐藏属性窗口⑴对象框。显示当前被选定对象的名称。利用对象框可以很方便地查看各对象的容器层次关系⑵列表框。用5个选项卡分类显示当前被选定对象的所有属性、事件和方法程序⑶属性设置框。当从属性列表框中选择一个属性项时,窗口内将出现属性设置框,用户可以在此对选定的属性进行设置⑷属性描述框18对象框属性设置框属性、事件、方法列表框(四)在代码窗口编辑事件过程在代码窗口中可以编辑和显示表单或表单控件的事件和方法程序的代码。打开“代码”窗口的方法有:⑴在“表单设计器”中双击一个表单或表单控件⑵在“属性”窗口中双击一个事件或方法程序⑶选择“显示/代码”菜单命令代码窗口中的“对象”列表框列出了表单、数据环境和当前表单上的所有控件。“过程”列表框列出了VFP对象所能识别的全部事件,其中加黑显示的事件名表示已包含代码(五)利用布局工具栏排列控件利用“布局”工具栏可以调整表单窗口中被选定控件的相对位置和相对大小。选择“显示/布局工具栏”命令可以显示或隐藏“布局”工具栏置后置前垂直居中水平居中相同大小相同高度相同宽度水平居中对齐垂直居中对齐底边对齐顶边对齐右对齐左对齐(六)控件对象的基本操作1.选定控件⑴选定单个控件。单击该控件⑵选定多个控件。按住Shift键,依次单击要选定的控件被选定的控件周围将显示8个黑色控点2.改变控件大小。选定控件后,拖动四边的控点可以改变宽度或高度,拖动四个顶角上的控点可同时改变宽度和高度。微调时,按住Shift键并移动键盘上的方向键3.移动控件。选定控件后,直接将控件拖到合适的位置4.复制控件。选定控件后,选择“编辑/复制”和“编辑/粘贴”命令,然后将复制的控件移到合适的位置5.删除控件。选定控件后,按DELETE键三、表单的数据环境每一个表单或表单集中都有一个数据环境,在表单的设计、运行中需要使用数据环境通过把与表单相关的表或视图放进表单的数据环境中,可以将表单、控件与表或视图中的字段关联在一起,形成一个完整的结构体系(一)数据环境设计器数据环境是一个对象,它包含与表单相互作用的表或视图以及表之间的关系。数据环境中的表、视图会随着表单的打开或运行而打开,并随着表单的关闭或释放而关闭。利用“数据环境设计器”可以设计表单的数据环境。打开数据环境设计器的方法有:⑴在表单设计器环境下,选择“显示/数据环境”菜单命令⑵按“表单设计器”工具栏中的“数据环境”按钮⑶选择表单快捷菜单的“数据环境”命令(二)数据信息与数据环境1.添加表或视图。右击“数据环境设计器”窗口,从快捷菜单中选择“添加”命令,打开“添加表或视图”对话框2.从数据环境中向表单添加字段。可以直接将字段、表或视图从数据环境设计器中拖动到表单,拖动成功时系统会创建相应的控件,并自动与字段相联系3.从数据环境中移去表。在“数据环境设计器”中右击要移去的表或视图,然后从快捷菜单中选择“移去”命令,则该表或视图及与其有关的所有关系都随之移去4.在数据环境中设置关系。若添加到数据环境设计器的表已设置永久关系,则这些关系将自动地加到数据环境中。否则,可以在数据环境设计器中设置这些关系,并与表单一起保存(二)数据信息与数据环境5.在数据环境中编辑关系。关系是数据环境中的对象,有自己的属性、事件和方法。编辑关系主要就是设置关系的属性6.数据与控件的绑定。表单中的控件可以分为两类:与表中数据绑定的控件和不与数据绑定的控件与数据源有关的属性:ControlSource指定对象绑定的数据源RecordSource指定表格控件绑定的数据源RecordSourceType指定表格控件绑定的数据源的类型RowSource指定列表框或组合框的数据源RowSourceType指定列表框或组合框数据源的类型四、表单与常用控件的设计表单是最常用的容器对象,具有自己的属性、事件和方法,同时还包含本文框、命令按钮、列表框等多种控件,用以输入数据、显示数据、执行应用程序的特定操作等控件是系统预先定义好的、程序中能够直接使用的对象。每个控件都有大量的属性、事件和方法,它们既可以在设计阶段也可以在运行时刻设置和使用27用表单设计器制作表单的步骤1、建立新的用户应用程序界面,即建立表单;2、对表单上的各种对象进行合理布局;3、设置控件对象的属性;4、为表单及各种控件对象编写事件代码;5、保存和运行表单。28作业2-1最简单的表单制作请制作如下所示的一个表单,注意设置标题栏的文字和表单文字的色彩。29(1)打开表单设计器工具栏30(2)打开标签按钮,在新建表单上加入两个标签如图所示:31(3)分别在上述两个标签的属性栏里作如下的修改:32(3)分别在上述两个标签的属性栏里作如下的修改:334、点击表单上的空白处,将表单FORM1的CAPTION属性改为“这是我做的第一个表单!”,并如左图所示对黑体字部分属性进行修改,本例制作即宣告完成。345、运行表单,观察结果点击工具栏上的运行按钮(上图箭头所指处),程序即可运行。四、表单与常用控件的设计利用表单设计器在设计阶段就能看到对象在运行状态下的表现形式设计表单的一般步骤是:⑴明确创建表单的目标和表单应具备的功能⑵在表单中添加与任务相关的各种控件⑶为表单设置好与之匹配的数据环境;为数据绑定型控件配置相关数据源⑷为表单中的每一个对象设置合适的属性;如果需要的话,可以为对象添加新的属性和方法⑸选择与特定操作相关的事件并编写相应的事件过程代码(一)建立表单在项目管理器中选择“表单”项,按“新建”按钮表单的常用属性37属性默认值功能alwaysontop.F.-否控制表单是否总是处在其它打开的窗口之上,即防止所引用的表单被其它表单所覆盖autocenter.F.-否控制表单运行时是否自动在vfp主窗口居中backcolor255,255,255指定表单窗口的颜色borderstyle3决定表单边框:0-无边框,1-单线边框,2-固定对话框,3-可调边框captionform1指定表单标题栏显示的文本closable.T.-是指定表单运行时,用户是否能够通过单击关闭按钮来退出表单moveable.T.-是控制表单运行时,是否可移动表单到屏幕的新位置上maxbutton.T.-有控制表单是否有最大化按钮minbutton.T.-有控制表单是否有最小化按钮38nameform1指定表单对象名,在程序设计中可以通过引用表单名来引用表单scrollbars0-无控制表单所具有的滚动条类型showwindow0-在屏幕中控制表单是否在屏幕中、悬浮在顶层表单中或作为顶层表单出现title