单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/7/9,单击此处编辑母版标题样式,化学化工学院V,isual FoxPro课程,没有最好,只有更好,第11章 表单设计与应用,11.1 创建表单,表单(FORM)是VFP应用程序的用户界面,各种对话框和窗口都是表单不同的外观表现形式。,在表单上拥有各种控件对象,可以响应用户或系统事件,使用户尽可能方便而直观地完成信息管理工作。,在VFP中可以利用表单设计器或表单向导可视化地创建表单文件,并通过运行表单文件来生成表单对象。,2021/7/9,11.1.1 使用表单向导创建表单,使用向导创建表单时,用户只要按照向导提供的操作步骤和屏幕提示一步一步地进行就能完成。,在项目管理器中选择“表单”项,单击“新建”按钮,出现“新建表单”对话框,再单击“表单向导”按钮,可打开“向导选取”对话框。,1.表单向导,用于创建基于一个表或视图的简单表单。,2.一对多表单向导,用于创建基于两个具有一对多关系的表的表单。字段既要从主(父)表中选取,也要从子表中选取,还要建立两表之间的联接关系。一对多表单一般使用文本框来表达父表,使用表格来表达子表。,2021/7/9,11.1.1 使用表单向导创建表单,2021/7/9,11.1.2 使用表单设计器创建表单,1启动表单设计器,(1)项目管理器:选择“表单”项,单击“新建”按钮,在“新建表单”对话框中,选择“新建表单”。(2)菜单:选择“文件|新建”命令,在“新建”对话框中选择“表单”文件类型,然后单击“新建文件”按钮。,(3)命令:,CREATE FORM,2快速创建表单,启动表单设计器后,选择“表单|快速表单”命令,可打开表单生成器窗口制作表单。,2021/7/9,11.1.2 使用表单设计器创建表单,表单设计器窗口,2021/7/9,11.1.2 使用表单设计器创建表单,2021/7/9,11.1.3 表单的保存与运行,1.保存表单文件,选择“文件|保存”命令。,2.运行表单,运行表单文件生成表单对象。,(1)项目管理器:选择要运行的表单,单击“运行”按钮。,(2)在表单设计器环境下,选择“表单|执行表单”命令。,(3)选择“程序|运行”命令。,(4)命令:,DO FORM WITH,3修改表单,打开表单设计器修改表单。,(1)项目管理器:选定要修改的表单,单击“修改”按钮。,(2)命令:,MODIFY FORM,2021/7/9,11.2.1 表单设计器环境,表单设计器是VFP 系统提供给用户的一个创建和修改表单的可视化工具,使用户不仅可以以交互方式对表单本身的一些外观属性进行设置,而且还可以添加表单控件、管理表单控件以及设置表单数据环境等。,启动表单设计器后,表单设计器的窗口除了包含一个新建或待修改的表单外,在VFP的主窗口中还将出现“属性”窗口、“表单控件”工具栏、“表单设计器”工具栏以及“表单”菜单等,它们一起构成了一个可视化的表单设计环境。,2021/7/9,11.2.2 利用表单控件工具栏添加控件,1表单控件工具栏,提供设计表单界面的各种控件按钮。选择“显示|工具栏”命令可以显示或隐藏该工具栏。,2向表单中添加控件,方法是:,在表单控件工具栏中单击要添加的控件按钮,然后将鼠标移到表单窗口的合适位置,按下鼠标并拖动鼠标至所需要的大小,再松开鼠标。若直接单击鼠标,则控件大小按系统默认值确定。如果要连续添加同一类型的控件,可以先在工具栏中单击“按钮锁定”按钮,然后再选择要添加的控件。,2021/7/9,选定对象,标 签,编 辑 框,命令按钮组,复 选 框,列 表 框,表 格,计 时 器,OLE容器控,件,线 条,容 器,超级链接,生成器锁定,查看类,文本框,命令按钮,选项按钮组,组合框,微调控件,图 像,页 框,OLE绑定控,件,形 状,分隔符,超级链接,按钮锁定,表单控件工具栏,11.2.2 利用表单控件工具栏添加控件,2021/7/9,11.2.3 在属性窗口设置对象属性,选择“显示|属性”命令可以显示或隐藏属性窗口。,(1)对象框 显示当前被选定对象的名称。利用对象框可以很方便地查看各对象的容器层次关系。(2)列表框 用5个选项卡分类显示当前被选定对象的所有属性、事件和方法程序。,(3)属性设置框 当从属性列表框中选择一个属性项时,窗口内将出现属性设置框,用户可以在此对选定的属性进行设置。,2021/7/9,对象框,属性设置框,属性列表框,属性描述框,11.2.3 在属性窗口设置对象属性,2021/7/9,11.2.4 在代码窗口编辑事件过程,在代码窗口中可以编辑和显示表单或表单控件的事件和方法程序的代码。打开“代码”窗口的方法有:,(1)在“表单设计器”中双击一个表单或表单控件,(2)在“属性”窗口中双击一个事件或方法程序,(3)选择“显示|代码”命令,代码窗口中的“对象”列表框列出了表单、数据环境和当前表单上的所有控件。“过程”列表框列出了VFP对象所能识别的全部事件,其中加黑显示的事件名表示已包含代码。,2021/7/9,“代码”窗口,11.2.4 在代码窗口编辑事件过程,2021/7/9,11.2.4 利用布局工具栏排列控件,利用“布局”工具栏可以调整表单窗口中被选定控件的相对位置和相对大小。选择“显示|布局工具栏”命令可以显示或隐藏“布局”工具栏。,左对齐,顶边对齐,垂直居中对齐,相同宽度,相同大小,垂直居中,置后,右对齐,底边对齐,水平居中对齐,相同高度,水平居中,置前,2021/7/9,11.2.6 控件对象的基本操作,1选定控件,(1)选定单个控件 单击该控件。,(2)选定多个控件 按住Shift键,依次单击要选定的控件。,被选定的控件周围出现8个黑色控点。,2改变控件大小,选定控件后,拖动四边的控点可以改变宽度或高度,拖动四个顶角上的控点可同时改变宽度和高度。微调时,按住Shift键并移动键盘上的方向键。,3移动控件,选定控件后,直接将控件拖到合适的位置。,4复制控件,选定控件后,选择“编辑|复制”和“编辑|粘贴”命令。然后将复制的控件移到合适的位置。,8.删除控件,选定控件后,按 DELETE 键。,2021/7/9,11.3 表单的数据环境,每一个表单或表单集中都有一个数据环境,在表单的设计、运行中需要使用数据环境。,通过把与表单相关的表或视图放进表单的数据环境中,可以将表单、控件与表或视图中的字段关联在一起,形成一个完整的结构体系。,2021/7/9,11.3.1 数据环境设计器,数据环境是一个对象,它包含与表单相互作用的表或视图以及表之间的关系。数据环境中的表视图或会随着表单的打开或运行而打开,并随着表单的关闭或释放而关闭。利用“数据环境设计器”可以设计表单的数据环境。,打开数据环境设计器的方法有:,(1)在表单设计器环境下,选择“显示|数据环境”命令。,(2)单击“表单设计器”工具栏中的“数据环境”按钮。,(3)右击表单,从快捷菜单中选择“数据环境”选项。,2021/7/9,11.3.1 数据环境设计器,添加到数据环境设计器中的表,2021/7/9,11.3.2 数据信息与数据环境,1添加表或视图,右击“数据环境设计器”窗口,从快捷菜单中选择“添加”命令,打开“添加表或视图”对话框。,2从数据环境中向表单添加字段,可以直接将字段、表或视图从数据环境设计器中拖动到表单,拖动成功时系统会创建相应的控件,并自动与字段相联系。,3从数据环境中移去表,在“数据环境设计器”中右击要移去的表或视图,然后从快捷菜单中选择“移去”命令,则该表或视图及与其有关的所有关系都随之移去。,2021/7/9,11.3.2 数据信息与数据环境,4在数据环境中设置关系,若添加到数据环境设计器的表已设置永久关系,则这些关系将自动地加到数据环境中。否则,可以在数据环境设计器中设置这些关系,并与表单一起保存。,5.在数据环境中编辑关系,关系是数据环境中的对象,有自己的属性、事件和方法。编辑关系主要就是设置关系的属性。,6.数据与控件的绑定,表单中的控件可以分为两类:与表中数据绑定的控件和不与数据绑定的控件。,当使用绑定型控件时,输入或选择的值将保存在数据源中(数据源可以是表的字段、临时表的字段或变量)。,2021/7/9,11.4 表单与常用控件的设计,表单是最常用的容器对象,具有自己的属性、事件和方法,同时还包含本文框、命令按钮、列表框等多种控件,用以输入数据、显示数据、执行应用程序的特定操作等。,控件是某种图形构件的统称,是系统预先定义好的、程序中能够直接使用的对象。每个控件都有大量的属性、事件和方法,它们既可以在设计阶段也可以在运行时刻设置和使用。,2021/7/9,11.4 表单与常用控件的设计,利用表单设计器在设计阶段就能看到对象在运行状态下的表现形式。设计表单的一般步骤是:,(1)明确创建表单的目标和表单应具备的功能。,(2)在表单中添加与任务相关的各种控件。,(3)为表单设置好与之匹配的数据环境;为数据绑定型控件配置相关数据源。,(4)为表单中的每一个对象设置合适的属性;如果需要的话,可以为对象添加新的属性和方法。,(5)选择与特定操作相关的事件并编写相应的事件过程代码。,2021/7/9,11.4 表单与常用控件的设计,表单对象,标签,文本框,复选框,下拉列表框,命令按钮(组),编辑框,选项按钮组,2021/7/9,11.4.1 建立表单,在项目管理器中选择“表单”项,单击“新建”按钮。,表单的常用属性,2021/7/9,11.4.2 标签控件,标签控件(Label)用来在表单上显示文本,常用作提示和说明。常用属性有:,Caption,属性 指定标签的标题,最多为,256,个字符。,AutoSize,属性 指定是否自动调整控件大小以容纳其内容。,BackStyle,属性 指定标签对象与表单背景颜色是否一致。,BordStyle,属性 指定标签是否带有边框。,Name,属性 指定在代码中用于引用对象的名称。,2021/7/9,11.4.3 文本框控件,文本框控件(TextBox)供用户输入或编辑数据,一般包含一行数据。常用属性有:,ControlSource,属性 指定与对象建立联系的数据源,可以是字段变量或内存变量。运行时,文本框将显示该变量的内容;用户对文本框的编辑结果,也将保存在该变量中。,Value,属性 返回文本框的当前内容。,PasswordChar,属性 指定文本框控件内是显示用户输入的字符还是显示占位符;指定用作占位符的字符。,ReadOnly,属性 指定用户能否编辑文本框,或指定与,Cursor,对象相关联的表或视图是否允许更新,默认值为,.F.,。,2021/7/9,11.4.4 命令按钮控件,命令按钮(CommandButton)用于完成某一特定的操作,其操作代码通常放置在命令按钮的CliCk事件过程中。,常用属性有:,Default,属性 该属性值为,.T.,的命令按钮称为“确认”按钮,即按下回车键时得到响应的那个按钮。,Cancel,属性 该属性值为,.T.,的命令按钮称为“取消”按钮,即按下,ESC,键时得到响应的那个按钮。,Enabled,属性 指定表单或控件能否响应由用户引发的事件,默认为,.T.,,,即对象是有效的。,2021/7/9,11.4.5 编辑框控件,编辑框(EditBox)与文本框一样,用来输入和编辑数据。但在编辑框中允许编辑长字段或备注字段文本,允许自动换行并能用方向键、PageUp 键和 PageDown 键以及滚动条来浏览文本。编辑框的很多属性都与本文框相同。,2021/7/9,11.4.6 选项按钮组控件,选项按钮组(OptionGroup)是包含若干选项按钮的一种容器,用于从多项选择中选取其一。当选中某个选项按钮时,按钮中会显示一个圆点。常用属性有:,ButtonCount,属性 指定选项按钮组中按钮的数目,默认为,2,。,ControlSource,属性 指定与选项组建立关联的数据源,可以是字段变量或内存变量。,Value,属性 指定选项按钮组