第9章 VFP常用控件及表单设计_第1页
第9章 VFP常用控件及表单设计_第2页
第9章 VFP常用控件及表单设计_第3页
第9章 VFP常用控件及表单设计_第4页
第9章 VFP常用控件及表单设计_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第9章章 VFP常用控件及表单设计常用控件及表单设计 主要内容主要内容9.1 用表单向导建立表单用表单向导建立表单9.2 用表单设计器建立表单用表单设计器建立表单9.3 表单表单9.4 常用表单控件常用表单控件9.5 多表单操作多表单操作9.6 表单集表单集复习思考题复习思考题9.1用表单向导建立表单用表单向导建立表单 例例9.1 使用表单向导创建一个维护使用表单向导创建一个维护“STUDENT”表的表单。表的表单。 例例9.2 使用一对多的表单向导,创建一个使用一对多的表单向导,创建一个维护学生表维护学生表“STUDENT”和学生上课情况表和学生上课情况表“STUDING”的表单。的表单。

2、 9.2用表单设计器建立表单用表单设计器建立表单 9.2.1 设计表单的基本步骤设计表单的基本步骤设计表单的基本步骤为:打开表单设计器;创建表单及设计表单的基本步骤为:打开表单设计器;创建表单及其它控件对象并编码;保存表单;运行表单。其它控件对象并编码;保存表单;运行表单。存盘方法可以选择下列方法之一:选择存盘方法可以选择下列方法之一:选择“文件文件”菜单中菜单中的的“保存保存”命令;选择常用工具栏中的命令;选择常用工具栏中的“保存保存”按钮;按组按钮;按组合键合键Ctrl+W;关闭表单设计器。;关闭表单设计器。 表单的运行有以下几种方法:在表单已打开的情况下,表单的运行有以下几种方法:在表单

3、已打开的情况下,单击系统主菜单中的单击系统主菜单中的“表单表单”菜单,选择菜单,选择“执行表单执行表单”菜单菜单项;在表单已打开的情况下,单击常用工具栏中的按钮;项;在表单已打开的情况下,单击常用工具栏中的按钮;)在在表单已打开的情况下,在表单的任何空白区域单击鼠标右键,表单已打开的情况下,在表单的任何空白区域单击鼠标右键,从弹出的快捷菜单中选择从弹出的快捷菜单中选择“执行表单执行表单”命令;在命令窗口中命令;在命令窗口中输入输入DO FORM 加表单文件名命令。加表单文件名命令。 9.2用表单设计器建立表单用表单设计器建立表单 9.2.2 快速创建表单快速创建表单例例9.3 使用快速表单创建

4、一个学生信息查看和使用快速表单创建一个学生信息查看和编辑表单。编辑表单。 实现步骤为:实现步骤为:(1)打开表单设计器:在命令窗口中输入打开表单设计器:在命令窗口中输入CREATE FORM STU,系统将打开表单设计器且表,系统将打开表单设计器且表单设计器的标题为单设计器的标题为STU.SCX。 (2)生成快速表单:选择生成快速表单:选择“表单表单”菜单的菜单的“快速快速表单表单”命令命令(或右键单击表单,从弹出的快捷菜单中或右键单击表单,从弹出的快捷菜单中选择选择“生成器生成器”命令命令) 。(3)添加其它控件对象添加其它控件对象(如按钮或按钮组如按钮或按钮组) (4)执行表单执行表单 9

5、.2用表单设计器建立表单用表单设计器建立表单 9.2.3表单设计中常用的工具栏表单设计中常用的工具栏 1.表单控件工具栏表单控件工具栏 9.2用表单设计器建立表单用表单设计器建立表单 9.2.3表单设计中常用的工具栏表单设计中常用的工具栏 2.布局工具栏布局工具栏 9.2用表单设计器建立表单用表单设计器建立表单 9.2.3表单设计中常用的工具栏表单设计中常用的工具栏 3.调色板工具栏调色板工具栏 9.2用表单设计器建立表单用表单设计器建立表单 9.2.3表单设计中常用的工具栏表单设计中常用的工具栏 4.表单设计器工具栏表单设计器工具栏 9.2用表单设计器建立表单用表单设计器建立表单 9.2.4

6、数据环境设计器数据环境设计器 数据环境数据环境(DataEnvironment)泛指设计表单或表单集时泛指设计表单或表单集时使用的数据源,包括表、视图和关系。数据环境是一个容器使用的数据源,包括表、视图和关系。数据环境是一个容器对象。对象。1.游标游标(Cursor)类对象类对象当存储在磁盘上的一个表文件被打开时,系统会在内存当存储在磁盘上的一个表文件被打开时,系统会在内存中建立一个该表的临时文件,内存中的临时文件实际上是磁中建立一个该表的临时文件,内存中的临时文件实际上是磁盘文件的一个映象,所有数据库的操作修改命令都是针对这盘文件的一个映象,所有数据库的操作修改命令都是针对这个映象进行的,当

7、发布数据更新个映象进行的,当发布数据更新TableUpdate()命令或关闭命令或关闭数据文件的命令后,系统再把这个映象文件存入磁盘,从而数据文件的命令后,系统再把这个映象文件存入磁盘,从而完成对磁盘文件的修改。完成对磁盘文件的修改。Cursor类对象也称为游标对象,它类对象也称为游标对象,它用来定义临时表的相关信息。用来定义临时表的相关信息。 Cursor类只支持类只支持Init、Destroy、Error事件。事件。 9.2用表单设计器建立表单用表单设计器建立表单 9.2用表单设计器建立表单用表单设计器建立表单 2.关系关系(Relation)类对象类对象如果表单的数据源有多个表且表间建立

8、了如果表单的数据源有多个表且表间建立了一定的关联,则数据环境下将自动产生一个一定的关联,则数据环境下将自动产生一个(或多个或多个)新的新的Relation类对象。类对象。 9.2用表单设计器建立表单用表单设计器建立表单 3.数据环境数据环境(DataEnvironment)容器容器数据环境是包括数据环境是包括Cursor和和Relation两类两类对象的一个容器,该容器和其所含对象一起对象的一个容器,该容器和其所含对象一起定义了表单中的数据源。定义了表单中的数据源。 9.2用表单设计器建立表单用表单设计器建立表单 3.数据环境数据环境(DataEnvironment)容器容器除支持除支持Ini

9、t、Destroy、Error事件外,事件外,DataEnvironment对象还支持两个事件和两个方法:对象还支持两个事件和两个方法:BeforeOpenTable()事件事件:打开表时发生,其:打开表时发生,其事件代码在表打开之前执行。事件代码在表打开之前执行。AfterCloseTable()事件事件:关闭表时发生,其事:关闭表时发生,其事件代码在表关闭后执行。件代码在表关闭后执行。CloseTable方法方法:用于关闭数据环境中所定义:用于关闭数据环境中所定义的所有数据源的所有数据源(表、视图表、视图)。OpenTable方法方法:用于打开数据环境中所定义:用于打开数据环境中所定义的所

10、有数据源的所有数据源(表、视图表、视图)。 9.2用表单设计器建立表单用表单设计器建立表单 4.数据环境设计器数据环境设计器数据环境设计器主要用以可视化地创建和修改数据环境设计器主要用以可视化地创建和修改数据环境。数据环境一旦建立,表单被打开或运行数据环境。数据环境一旦建立,表单被打开或运行时,数据环境中的表或视图便自动打开;表单被关时,数据环境中的表或视图便自动打开;表单被关闭或释放时,表或视图也将随之自动关闭。新建或闭或释放时,表或视图也将随之自动关闭。新建或打开表单后打开数据环境设计器的方法如下:打开表单后打开数据环境设计器的方法如下:(1)选择选择“显示显示”菜单中的菜单中的“数据环境

11、数据环境”;(2)鼠标右键单击表单窗口中的任意空白区域,鼠标右键单击表单窗口中的任意空白区域,从弹出的快捷菜单中选择从弹出的快捷菜单中选择“数据环境数据环境”;(3)打开打开“表单设计器表单设计器”工具栏,选择其中的工具栏,选择其中的“数据环境数据环境”工具按钮。工具按钮。 9.2用表单设计器建立表单用表单设计器建立表单 4.数据环境设计器数据环境设计器表添加后,如果有两个或多个表,假如这表添加后,如果有两个或多个表,假如这些表原来已存在永久关系,则在两表之间会些表原来已存在永久关系,则在两表之间会自动出现表示两表关系的连线;如未建立永自动出现表示两表关系的连线;如未建立永久关系,用户也可以在

12、数据环境中临时建立,久关系,用户也可以在数据环境中临时建立,建立方法是:选择关联字段,将其从父表中建立方法是:选择关联字段,将其从父表中拖到子表对应字段上拖到子表对应字段上(如果子表中对应字段未如果子表中对应字段未建索引,系统将自动建立以该字段为关键字建索引,系统将自动建立以该字段为关键字的索引的索引)。如果要解除关联,只需选中关联线。如果要解除关联,只需选中关联线条,按条,按Del键删除即可。键删除即可。 9.2用表单设计器建立表单用表单设计器建立表单 9.2.5 在表单上设置控件在表单上设置控件 1.创建控件创建控件 2.调整控件的位置调整控件的位置 3.调整控件的调整控件的Tab键按键顺

13、序键按键顺序 9.3 表单表单 9.3.1 表单的属性表单的属性 9.3 表单表单 9.3.1 表单的属性(续)表单的属性(续) 9.3 表单表单 9.3.2 表单的事件和方法表单的事件和方法 9.4 常用表单控件常用表单控件 9.4.1 标签标签 9.4 常用表单控件常用表单控件 9.4.1 标签标签 (续续)9.4 常用表单控件常用表单控件 例例9.3 设计一个学生学籍管理系统的欢迎设计一个学生学籍管理系统的欢迎界面。界面。 图9.22标签应用示例9.4 常用表单控件常用表单控件9.4.2 文本框文本框 9.4 常用表单控件常用表单控件9.4.2 文本框文本框1.value属性属性Valu

14、e属性用于指定文本框的值,并在框中显示属性用于指定文本框的值,并在框中显示出来。出来。Value属性的值既可在属性窗口中输入或编辑;属性的值既可在属性窗口中输入或编辑;也可以用命令来设置,例如:也可以用命令来设置,例如:THIS.VALUE=”表表单单”。Value值可以为数值型、字符型、日期型或逻辑值可以为数值型、字符型、日期型或逻辑型型4种类型之一,例如:种类型之一,例如:0,(无无),.F.。其中。其中(无无)表示字符型,且为默认类型。属性值设置后,若想表示字符型,且为默认类型。属性值设置后,若想恢复为默认值只需右键单击,从弹出的快捷菜单中恢复为默认值只需右键单击,从弹出的快捷菜单中选择

15、选择“重置为默认值重置为默认值”命令即可。命令即可。 9.4 常用表单控件常用表单控件2.控件与数据绑定控件与数据绑定文本框值除可通过直接输入或设置文本框值除可通过直接输入或设置Value属性来得到外,属性来得到外,还可以通过数据绑定来取得数据。还可以通过数据绑定来取得数据。(1)数据绑定的概念数据绑定的概念控件的数据绑定是指将控件与某个数据源联系起来。实控件的数据绑定是指将控件与某个数据源联系起来。实现数据绑定需为控件指定数据源,而数据源则由控件的现数据绑定需为控件指定数据源,而数据源则由控件的ControlSource属性来指定。属性来指定。数据源有字段和变量两种,前者来自数据环境中的表,

16、数据源有字段和变量两种,前者来自数据环境中的表,可以供用户在可以供用户在ControlSource属性中选用。属性中选用。(2)数据绑定的作用数据绑定的作用文本框与数据绑定后,控件值便与数据源的数据一致了。文本框与数据绑定后,控件值便与数据源的数据一致了。以字段数据为例,此时的控件值由字段的当前值决定,而字以字段数据为例,此时的控件值由字段的当前值决定,而字段值也将随控件值的改变而改变,即值的传递是双向的。段值也将随控件值的改变而改变,即值的传递是双向的。9.4 常用表单控件常用表单控件3.Format和和InputMask属性属性Format属性用于指定某个控件的属性用于指定某个控件的Val

17、ue属属性的输入输出格式,指定整个输入区域的特性的输入输出格式,指定整个输入区域的特性,可以组合使用多个格式代码。性,可以组合使用多个格式代码。InputMask属性用于指定控件中的数据的输属性用于指定控件中的数据的输入掩码和显示方式,掩码格式用于更方便和入掩码和显示方式,掩码格式用于更方便和更清楚地显示字符型数据和数值型数据。更清楚地显示字符型数据和数值型数据。Format和和InputMask属性形成对照,前者对属性形成对照,前者对输入区域的所有输入都有影响,后者中每种输入区域的所有输入都有影响,后者中每种输入掩码对应输入域中的一个输入项。输入掩码对应输入域中的一个输入项。9.4 常用表单

18、控件常用表单控件3.Format和和InputMask属性属性表表9.10 文本框的文本框的Format属性设置及说明属性设置及说明 9.4 常用表单控件常用表单控件3.Format和和InputMask属性属性9.4 常用表单控件常用表单控件文本框的常用事件主要有:文本框的常用事件主要有:Valid:当文本框失去焦点前发生。所谓当文本框失去焦点前发生。所谓焦点,就是指文本框处于选中状态,失去焦焦点,就是指文本框处于选中状态,失去焦点,就是刚离开选中状态,获得焦点,就是点,就是刚离开选中状态,获得焦点,就是刚进入选中状态。刚进入选中状态。InteractiveChange:当文本框的值发生当文

19、本框的值发生改变时发生。改变时发生。GotFocus:当文本框得到焦点时发生。当文本框得到焦点时发生。LostFocus:当文本框失去焦点时发生。当文本框失去焦点时发生。文本框的常用方法是文本框的常用方法是SetFocus,作用是,作用是使文本框获得焦点。使文本框获得焦点。 9.4 常用表单控件常用表单控件4.文本框生成器文本框生成器生成器是用户设置属性的控件属性的向导,生成器是用户设置属性的控件属性的向导,可以利用生成器快速地设置好控件对象的常可以利用生成器快速地设置好控件对象的常规属性。多数控件具有生成器,但并非所有规属性。多数控件具有生成器,但并非所有控件都有。文本框生成器的打开方法为:

20、控件都有。文本框生成器的打开方法为:首先利用首先利用“表单控件表单控件”工具栏创建好一个工具栏创建好一个文本框,然后通过鼠标右键单击文本框,从文本框,然后通过鼠标右键单击文本框,从弹出的快捷菜单中选择弹出的快捷菜单中选择“生成器生成器”,则将弹,则将弹出出“文本框生成器文本框生成器”对话框。对话框。 9.4 常用表单控件常用表单控件例例9.4 设计一个如图设计一个如图9.24所示的表单,功所示的表单,功能为:单击表单计算三角形的面积,表单运能为:单击表单计算三角形的面积,表单运行后自动居中。其中三角形三边的值通过三行后自动居中。其中三角形三边的值通过三个文本框输入,计算出的面积显示在一个标个文

21、本框输入,计算出的面积显示在一个标签上。签上。 图9.24“计算三角形的面积”表单9.4 常用表单控件常用表单控件9.4.3 编辑框编辑框 编辑框也是用来输入和显示数据的。在编辑框编辑框也是用来输入和显示数据的。在编辑框中允许用户编辑长字段或备注字段文本,允许自动中允许用户编辑长字段或备注字段文本,允许自动换行并能用方向键、换行并能用方向键、PageUp和和PageDown键以及键以及滚动条来浏览文本。滚动条来浏览文本。编辑框和文本框的主要区别是编辑框只能用于编辑框和文本框的主要区别是编辑框只能用于输入或编辑文本数据,即字符型数据;而文本框则输入或编辑文本数据,即字符型数据;而文本框则适用于数

22、值、字符等四种类型的数据。文本框只能适用于数值、字符等四种类型的数据。文本框只能供用户键入一段数据;而编辑框则能输入多段文本,供用户键入一段数据;而编辑框则能输入多段文本,即回车符不能终止编辑框的输入。即回车符不能终止编辑框的输入。 9.4 常用表单控件常用表单控件9.4.3 编辑框编辑框 9.4 常用表单控件常用表单控件例例9.5 设计一个如图设计一个如图9.25所示的能显示所示的能显示STUDENT表中当前记录的学生学号、姓名表中当前记录的学生学号、姓名(学号、姓名不能修改学号、姓名不能修改),并能显示和修改个人,并能显示和修改个人简历信息的表单。简历信息的表单。 图9.25学生简历的显示

23、和修改9.4 常用表单控件常用表单控件9.4.4 命令按钮命令按钮 9.4 常用表单控件常用表单控件(1)对于文字命令按钮,超宽的中文标题若要折对于文字命令按钮,超宽的中文标题若要折行显示,只需将行显示,只需将WordWrap属性设置为属性设置为.T.,此时与,此时与AutoSize属性无关。属性无关。(2)在标题中可以增加热键,增加方法为:在在标题中可以增加热键,增加方法为:在Caption属性值中某字符前插入符号属性值中某字符前插入符号“”,该字符,该字符就成为热键,例如就成为热键,例如Caption属性设置为属性设置为“Cmd1”则表示则表示C为热键。为热键。(3)隐藏按钮有两种方法:一

24、是设置隐藏按钮有两种方法:一是设置Style属性值属性值为为1,二是设置,二是设置Visible属性值为属性值为.F.,但是,但是Visible属属性设置为性设置为.F.后,命令按钮被隐藏且不能被操作;而后,命令按钮被隐藏且不能被操作;而通过通过Style属性设置命令按钮不可见后,鼠标移到命属性设置命令按钮不可见后,鼠标移到命令按钮的位置上仍能操作按钮。令按钮的位置上仍能操作按钮。9.4 常用表单控件常用表单控件命令按钮的常用事件如下:命令按钮的常用事件如下:Click单击鼠标左键时发生,这是最单击鼠标左键时发生,这是最常用的一种事件,一般使用该事件编写代码常用的一种事件,一般使用该事件编写代

25、码来实现按钮对应的功能。来实现按钮对应的功能。DblClick双击鼠标左键时发生。双击鼠标左键时发生。RightClick单击鼠标右键时发生。单击鼠标右键时发生。Init建立命令按钮对象时发生。建立命令按钮对象时发生。Destroy从内存中释放命令按钮时发从内存中释放命令按钮时发生。生。 9.4 常用表单控件常用表单控件例例9.6 建立一个如图建立一个如图9.26所示的表单例所示的表单例9.6.SCX,该表单能实现对该表单能实现对TEACHER表中的记录进行修改。表中的记录进行修改。要求数据记录浏览时不能进行修改要求数据记录浏览时不能进行修改(表单的初始状态表单的初始状态为浏览状态为浏览状态)

26、,只有点击,只有点击“修改修改”按钮后才能进行记按钮后才能进行记录修改;当记录指针到文件尾时,录修改;当记录指针到文件尾时,“下一条下一条”按钮按钮呈不可用状态;当记录指针到文件头时,呈不可用状态;当记录指针到文件头时,“上一条上一条”按钮呈不可用状态。按钮呈不可用状态。 9.4 常用表单控件常用表单控件9.4 常用表单控件常用表单控件例例9.7 设计一个如图设计一个如图9.27所示的验证帐号所示的验证帐号和密码的表单。若帐号和密码输入错,则用和密码的表单。若帐号和密码输入错,则用对话框提示。其中帐号输入完毕,即文本框对话框提示。其中帐号输入完毕,即文本框失去焦点时则判断,若帐号错应使录入帐号

27、失去焦点时则判断,若帐号错应使录入帐号的文本框清空,等待用户重新输入正常的帐的文本框清空,等待用户重新输入正常的帐号。对应于密码输入的文本框初始为只读,号。对应于密码输入的文本框初始为只读,只有当帐号输入正确时,才能输入密码。密只有当帐号输入正确时,才能输入密码。密码共可输入三次,单击码共可输入三次,单击“确定确定”按钮时判断,按钮时判断,三次输错则禁止进入系统。图三次输错则禁止进入系统。图9.27所示分别所示分别是表单界面和帐号错提示信息框、成功登录是表单界面和帐号错提示信息框、成功登录提示信息框、密码错提示信息框。提示信息框、密码错提示信息框。 9.4 常用表单控件常用表单控件图图9.27

28、帐号和密码验证表单帐号和密码验证表单 账号错账号正确密码错密码正确9.4 常用表单控件常用表单控件*TEXT1.LOSTFOCUS事件代码事件代码IF THIS.VALUE123456&”123456”为预设的密码,也可以设为别的。为预设的密码,也可以设为别的。MESSAGEBOX(帐号错误,请重输!帐号错误,请重输!,错误错误)THIS.VALUE=&为重新输入清空文本框为重新输入清空文本框ELSETHISFORM.TEXT2.READONLY=.F.&帐号输入正确时,即可输入密码帐号输入正确时,即可输入密码 THISFORM.TEXT2.SETFOCUS &文本框文本框2获得焦点获得焦点E

29、NDIF*COMMAND2.CLICK事件代码事件代码THISFORM.RELEASE&关闭表单关闭表单9.4 常用表单控件常用表单控件*COMMAND1.LICK事件代码事件代码N=N+1& 单击一次表示输入了一次密码,次数增单击一次表示输入了一次密码,次数增1IF THISFORM.TEXT2.VALUE=ABC& ”ABC”为预设密码为预设密码MESSAGEBOX(欢迎进入本系统欢迎进入本系统,0+64,欢迎欢迎)THISFORM.RELEASEELSEIF N THISFORM.WIDTH THEN THISFORM.IMGMAIN.LEFT = 0 THISFORM.IMGMAIN.

30、TOP = THISFORM.HEIGHT / 2ENDIFTHISFORM.IMGMAIN.LEFT =THISFORM.IMGMAIN.LEFT +10THISFORM.IMGMAIN.TOP =THISFORM.IMGMAIN.TOP - 2IF FLAG THEN THISFORM.IMGMAIN.PICTURE = D:MYVFP蝴蝶蝴蝶闭闭.BMPELSE THISFORM.IMGMAIN.PICTURE = D:MYVFP蝴蝶蝴蝶开开.BMPENDIFFLAG = NOT FLAG9.4 常用表单控件常用表单控件9.4.12 表格表格表格是一种将数据以表格形式表示出来的控件。表格

31、提表格是一种将数据以表格形式表示出来的控件。表格提供了一个全屏幕输入输出数据表记录的方式,表格中分为若供了一个全屏幕输入输出数据表记录的方式,表格中分为若干行和列,每一个列也是一个对象,称为列对象,因而表格干行和列,每一个列也是一个对象,称为列对象,因而表格是一种以行列方式显示数据的容器控件。表格中的每列又由是一种以行列方式显示数据的容器控件。表格中的每列又由列标题和列控件构成。列标题和列控件构成。1.表格的组成表格的组成(1)表格表格(Grid):由一个或若干个列组成。由一个或若干个列组成。(2)列列(Column):一列可显示表的一个字段,列由列标一列可显示表的一个字段,列由列标题和列控件

32、组成。题和列控件组成。(3)列标题列标题(Header1):默认显示字段名,允许修改。默认显示字段名,允许修改。(4)列控件列控件(例如例如Text1):一列必须设置一个控件,该列一列必须设置一个控件,该列中的每个单元格都可用此控件来显示字段值。列控件默认为中的每个单元格都可用此控件来显示字段值。列控件默认为文本框,但允许修改为与本列字段数据的类型相容的控件。文本框,但允许修改为与本列字段数据的类型相容的控件。如字段是逻辑型的,则可以使用复选框控件。如字段是逻辑型的,则可以使用复选框控件。9.4 常用表单控件常用表单控件2.表格中主要控件的常用属性、事件和方法表格中主要控件的常用属性、事件和方

33、法表格、列、列标题和列控件都有自己的属性、表格、列、列标题和列控件都有自己的属性、事件和方法程序,其中表格和列都是容器。表格的事件和方法程序,其中表格和列都是容器。表格的常用属性见表常用属性见表9.32,列控件的常用属性见表,列控件的常用属性见表9.33。 9.4 常用表单控件常用表单控件表表9.32 表格的常用属性表格的常用属性 9.4 常用表单控件常用表单控件表表9.33 列控件的常用属性列控件的常用属性表格一般用以显示数据,故很少针对表格的事件单独编写表格一般用以显示数据,故很少针对表格的事件单独编写代码。表格中最常用的方法是代码。表格中最常用的方法是Refresh,使用方法和其它,使用

34、方法和其它控件类似。控件类似。9.4 常用表单控件常用表单控件3.表格控件的创建表格控件的创建 (1)利用数据环境创建利用数据环境创建 (2)利用表格生成器创建利用表格生成器创建 4.表格的编辑表格的编辑将表格先选定,单击鼠标右键,从弹出的快捷将表格先选定,单击鼠标右键,从弹出的快捷菜单中选择菜单中选择“编辑编辑”命令,则表格将出现有蓝色虚命令,则表格将出现有蓝色虚线边框的编辑状态,在编辑状态下可以用鼠标直接线边框的编辑状态,在编辑状态下可以用鼠标直接选择列标题或列控件对象,然后对其属性进行修改,选择列标题或列控件对象,然后对其属性进行修改,也可以直接从也可以直接从“属性属性”窗口的对象列表框

35、中选择相窗口的对象列表框中选择相应的对象后直接对对象的属性进行设置。应的对象后直接对对象的属性进行设置。9.4 常用表单控件常用表单控件(1)修改列标题修改列标题用代码修改:在表格用代码修改:在表格Init事件中编写代码事件中编写代码Thisform.Grid1.Column2.Header1. Caption=“教师姓教师姓名名”,可将上述表格中的第,可将上述表格中的第2列的列标题改为列的列标题改为“教师姓名教师姓名”。在属性窗口中修改:在属性窗口的对象列表中按照从在属性窗口中修改:在属性窗口的对象列表中按照从容器对象到控件对象的次序,找到某列下的容器对象到控件对象的次序,找到某列下的Hea

36、der1对象后对象后释放鼠标,然后修改其释放鼠标,然后修改其Caption属性。属性。(2)调整列高行宽调整列高行宽(3)列的增删列的增删列的增删主要方法有如下几种,一是修改表格的列的增删主要方法有如下几种,一是修改表格的ColumnCount属性可以改变表格的列数;二是打开表格生属性可以改变表格的列数;二是打开表格生成器,在表格项选项卡中多选或少选字段来改变列数;三成器,在表格项选项卡中多选或少选字段来改变列数;三是在表格的编辑状态下,用鼠标单击某列是在表格的编辑状态下,用鼠标单击某列(列标题下面列标题下面),然,然后按后按Del键可以删除该列。键可以删除该列。 9.4 常用表单控件常用表单

37、控件例例9.15 设计一个如图设计一个如图9.39所示的教师任课信息所示的教师任课信息查询表单。查询表单。 9.4 常用表单控件常用表单控件组合框组合框Combo1.IntereactiveChange事件过程事件过程代码如下:代码如下:SELECT TEACHINGTHISFORM.LABEL1.CAPTION=THIS.VALUEX=THIS.VALUESET FILTER TO 教师编号教师编号=ALLTRIM(X)THISFORM.REFRESH9.4 常用表单控件常用表单控件例例9.16 设计一个如图设计一个如图9.41所示的表数据浏览表单。所示的表数据浏览表单。 图9.41 表数据

38、浏览表单9.4 常用表单控件常用表单控件主要事件过程代码如下:主要事件过程代码如下:*FORM1.INIT事件代码事件代码THISFORM.OPTIONGROUP1.VALUE=1THISFORM.GRDSTUDENT.VISIBLE=.T.THISFORM.GRDTEACHER.VISIBLE=.F.THISFORM.GRDSTUDING.VISIBLE=.F.THISFORM.GRDTEACHING.VISIBLE=.F.THISFORM.GRDCOURSE.VISIBLE=.F.THISFORM.REFRESH 9.4 常用表单控件常用表单控件*OPTIONGROUP1.INTEREAC

39、TIVECHANGE事件代码事件代码X=THISFORM.OPTIONGROUP1.VALUEDO CASE CASE X=1 THISFORM.GRDSTUDENT.VISIBLE=.T.&使学生表对应的表格控件可见使学生表对应的表格控件可见 THISFORM.GRDTEACHER.VISIBLE=.F. THISFORM.GRDSTUDING.VISIBLE=.F. THISFORM.GRDTEACHING.VISIBLE=.F. THISFORM.GRDCOURSE.VISIBLE=.F. CASE X=2 THISFORM.GRDSTUDENT.VISIBLE=.F. THISFORM

40、.GRDTEACHER.VISIBLE=.T. THISFORM.GRDSTUDING.VISIBLE=.F. THISFORM.GRDTEACHING.VISIBLE=.F. THISFORM.GRDCOURSE.VISIBLE=.F.9.4 常用表单控件常用表单控件 CASE X=3 THISFORM.GRDSTUDENT.VISIBLE=.F. THISFORM.GRDTEACHER.VISIBLE=.F. THISFORM.GRDSTUDING.VISIBLE=.T. THISFORM.GRDTEACHING.VISIBLE=.F. THISFORM.GRDCOURSE.VISIBLE

41、=.F. CASE X=4 THISFORM.GRDSTUDENT.VISIBLE=.F. THISFORM.GRDTEACHER.VISIBLE=.F. THISFORM.GRDSTUDING.VISIBLE=.F. THISFORM.GRDTEACHING.VISIBLE=.T. THISFORM.GRDCOURSE.VISIBLE=.F.9.4 常用表单控件常用表单控件 CASE X=5 THISFORM.GRDSTUDENT.VISIBLE=.F. THISFORM.GRDTEACHER.VISIBLE=.F. THISFORM.GRDSTUDING.VISIBLE=.F. THISF

42、ORM.GRDTEACHING.VISIBLE=.F. THISFORM.GRDCOURSE.VISIBLE=.T.ENDCASETHISFORM.REFRESH9.4 常用表单控件常用表单控件 9.4.13 页框页框 页框控件对应的界面实际上就是我们经常使用的选页框控件对应的界面实际上就是我们经常使用的选项卡界面,一个页框可以有两个以上的页面,所以页框项卡界面,一个页框可以有两个以上的页面,所以页框是可以包含多个页面的一种容器,而每个页面本身也是是可以包含多个页面的一种容器,而每个页面本身也是一种容器,页面上可以放置任何控件、容器和自定义对一种容器,页面上可以放置任何控件、容器和自定义对象。

43、象。 9.4 常用表单控件常用表单控件例例9.17 设计一个如图设计一个如图9.42所示的数据浏览表单。所示的数据浏览表单。其中页框有其中页框有3个页面,个页面,“学学生表生表”页面显示页面显示STUDENT表中的所有数据,表中的所有数据,“课程表课程表”页面显示页面显示COURSE表中的所表中的所有数据,而有数据,而“学生课程成绩学生课程成绩”页面中的数据来源于一个查页面中的数据来源于一个查询文件,该查询文件中数据询文件,该查询文件中数据包括包括STUDENT表中的学号、表中的学号、姓名列,姓名列,COURSE表中的课表中的课程编号和课程名列,以及程编号和课程名列,以及STUDING表中成绩

44、列。表中成绩列。图9.42 数据浏览表单9.4 常用表单控件常用表单控件图图9.43 学生课程成绩查询学生课程成绩查询 9.4 常用表单控件常用表单控件表表9.35 数据浏览表单的主要属性设置情况数据浏览表单的主要属性设置情况 9.4 常用表单控件常用表单控件9.4.14 ActiveX控件和控件和ActiveX绑定控件绑定控件 1.ActiveX控件控件ActiveX是是Microsoft对于一系列策略性面向对对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件象程序技术和工具的称呼,其中主要的技术是组件对象模型对象模型(COM)。而。而ActiveX控件就是指符合控件就是指符

45、合ActiveX标准的控件,其数量现已超过了标准的控件,其数量现已超过了1000种,种,Windows的的SYSTEM文件夹中含有的众多的文件夹中含有的众多的带带.OCX扩展名的文件,都属于扩展名的文件,都属于ActiveX控件。控件。 9.4 常用表单控件常用表单控件2.ActiveX绑定控件绑定控件在介绍表中字段的数据类型时,曾介绍过一个重要的数在介绍表中字段的数据类型时,曾介绍过一个重要的数据类型据类型通用数据类型,该类型字段变量可存放文本、声通用数据类型,该类型字段变量可存放文本、声音、图片和视频数据等。利用音、图片和视频数据等。利用ActiveX绑定控件可以在表单上绑定控件可以在表单

46、上显示通用型字段数据,如例显示通用型字段数据,如例9.1中照片数据的显示。中照片数据的显示。将表单控件工具栏中的将表单控件工具栏中的“ActiveX绑定控件绑定控件(OleBoundControl)”与表中的通用字段绑定,就能显示通用与表中的通用字段绑定,就能显示通用型字段中的型字段中的OLE对象,还可以调出创建这些数据的源应用程对象,还可以调出创建这些数据的源应用程序,从而以可视化方式查看或操作这些数据。序,从而以可视化方式查看或操作这些数据。利用控件工具栏创建利用控件工具栏创建“ActiveX绑定控件绑定控件”对象后,只对象后,只需设置该对象的需设置该对象的ControlSource属性为

47、表中的通用型字段,属性为表中的通用型字段,例如照片字段即可。例如照片字段即可。 9.5 多表单操作多表单操作 9.5.1单文档和多文档界面单文档和多文档界面应用程序界面一般分为应用程序窗口和文档窗口两种。应用程序界面一般分为应用程序窗口和文档窗口两种。其中,应用程序窗口可包含标题栏、工具栏等,而文档窗口其中,应用程序窗口可包含标题栏、工具栏等,而文档窗口出现在应用程序窗口内,可以和应用程序窗口共用标题栏。出现在应用程序窗口内,可以和应用程序窗口共用标题栏。例如执行例如执行MicroSoft Word,就会出现一个,就会出现一个Word应用程序窗应用程序窗口,如果在口,如果在Word中新建一个中

48、新建一个Word文档或打开一个文档或打开一个Word文文档,则还会出现一个文档窗口,文档窗口在应用程序窗口内档,则还会出现一个文档窗口,文档窗口在应用程序窗口内部。部。使用使用VFP6创建的应用程序界面一般分为多文档界面创建的应用程序界面一般分为多文档界面(Multiple-Document Interface,简称,简称MDI)和单文档界面和单文档界面(Single-Document Interface,简称,简称SDI)两类。其中,两类。其中,MDI指应用程序窗口中可以包含多个文档窗口,例如指应用程序窗口中可以包含多个文档窗口,例如MicroSoft Word、MicroSoft Visu

49、al FoxPro6等;而等;而SDI则指应用程序则指应用程序窗口中只能显示一个文档窗口,例如窗口中只能显示一个文档窗口,例如Windows的的“记事本记事本”应用程序。应用程序。 9.5 多表单操作多表单操作 9.5.2单文档和多文档界面的实现单文档和多文档界面的实现对应于应用程序的两类窗口,对应于应用程序的两类窗口,VFP6中有创建顶层表单中有创建顶层表单和子表单之分。每种表单都单独存成一个和子表单之分。每种表单都单独存成一个.SCX文件。文件。1.顶层表单顶层表单顶层表单用于创建一个顶层表单用于创建一个SDI应用程序界面,或者用于创应用程序界面,或者用于创建一个可以作为建一个可以作为MD

50、I应用程序中的父表单的窗口界面。顶层应用程序中的父表单的窗口界面。顶层表单类似于别的应用程序主界面,可以直接显示在表单类似于别的应用程序主界面,可以直接显示在Windows屏幕上,也可以最小化后显示在屏幕上,也可以最小化后显示在Windows任务栏中。任务栏中。2.子表单子表单子表单对应于应用程序中的文档窗口。在子表单对应于应用程序中的文档窗口。在VFP6中,子中,子表单用于创建表单用于创建MDI应用程序的文档窗口,子表单又分为非浮应用程序的文档窗口,子表单又分为非浮动表单和浮动表单两种。非浮动表单是不可移至父表单边界动表单和浮动表单两种。非浮动表单是不可移至父表单边界外的表单,最小化时置于父

51、表单窗口的底部;浮动表单则可外的表单,最小化时置于父表单窗口的底部;浮动表单则可移至桌面的任何位置,最小化时将显示在桌面底部。但它们移至桌面的任何位置,最小化时将显示在桌面底部。但它们都属于父表单中的文档窗口,因而父表单最小化,它们也最都属于父表单中的文档窗口,因而父表单最小化,它们也最小化,且子表单不能作为单独的应用程序使用,也不能置于小化,且子表单不能作为单独的应用程序使用,也不能置于父表单之后。父表单之后。 9.5 多表单操作多表单操作 3.顶层表单和子表单的确定顶层表单和子表单的确定顶层表单和子表单的确定是通过设置表单的顶层表单和子表单的确定是通过设置表单的ShowWindow属性完属

52、性完成的。成的。ShowWindow属性值及含义如下:属性值及含义如下:0表示将当前表单作为表示将当前表单作为VFP6主主窗口的子表单;窗口的子表单;1表示将当前表单作为顶层表单的子表单;表示将当前表单作为顶层表单的子表单;2表示将当前表示将当前表单作为顶层表单表单作为顶层表单4.确定子表单为浮动或非浮动表单确定子表单为浮动或非浮动表单确定子表单为浮动或非浮动表单是通过设置表单属性确定子表单为浮动或非浮动表单是通过设置表单属性Desktop完完成的。成的。Desktop属性值及含义如下:属性值及含义如下:.T.表示子表单表示子表单(当前表单当前表单)能浮动,能浮动,.F.表示子表单表示子表单(

53、当前表单当前表单)不能浮动。不能浮动。5.子表单的调用子表单的调用在顶层表单的某个事件在顶层表单的某个事件(非非Load和和Iinit)代码按下列格式调用子表单代码按下列格式调用子表单即可:即可:DO FORM 6.MDI应用程序的运行应用程序的运行MDI应用程序应从执行父表单开始。应用程序应从执行父表单开始。7.表单执行中的异常表单执行中的异常表单执行时,若出现异常导致表单无法关闭,可在命令窗口中键表单执行时,若出现异常导致表单无法关闭,可在命令窗口中键入:入:Clear All命令。命令。 9.5 多表单操作多表单操作 例例9.18 编写如图编写如图9.50所示的教师数据查看表单。要求所示

54、的教师数据查看表单。要求单击单击“查看指定记录查看指定记录”命令按钮时,能打开一个供用户输入命令按钮时,能打开一个供用户输入记录号的窗口。当输入记录号并单击确定按钮后,新打开的记录号的窗口。当输入记录号并单击确定按钮后,新打开的窗口随即关闭,原表单也立即更新记录显示,若原表单记录窗口随即关闭,原表单也立即更新记录显示,若原表单记录未更新,可单击未更新,可单击“刷新刷新”按钮让其更新。按钮让其更新。 9.5 多表单操作多表单操作主要操作步骤如下:主要操作步骤如下:(1)新建子表单新建子表单“inputRec9-18.SCX” ,在该表,在该表单中添加一个标签,标签标题为单中添加一个标签,标签标题

55、为“请输入记录请输入记录号:号:”,添加一个文本框,添加一个文本框Text1和一个命令按钮和一个命令按钮Command1。(2)编写该表单中命令按钮编写该表单中命令按钮Command1的的Click事件代码如下:事件代码如下:JLH=THISFORM.TEXT1.VALUE&将文本框中输将文本框中输入的记录号赋给变量入的记录号赋给变量JLHGO JLH &记录指针记录指针指向在文本框中指定的记录指向在文本框中指定的记录THISFORM.RELEASE&释放当前表单释放当前表单9.5 多表单操作多表单操作(3)新建表单新建表单“例例9-18.SCX”,利用快速表,利用快速表单方式产生用于显示单方

56、式产生用于显示STUDENT表中各字段的表中各字段的提示及数据的标签、文本框等控件。提示及数据的标签、文本框等控件。(4)添加一个命令按钮组添加一个命令按钮组(名字为:名字为:CommandGroup1),其中包括标题为,其中包括标题为“下一下一条条”(名字为:名字为:Command1)、“上一条上一条”(名名字为:字为:Command2)、“查看指定记录查看指定记录”(名名字为:字为:Command3)、“退出退出”(名字为:名字为:Command4)四个按钮。四个按钮。(5)添加一个标题为添加一个标题为“刷新刷新”的按钮。的按钮。(6)两个表单中主要属性如表两个表单中主要属性如表9.36所

57、示。所示。 9.5 多表单操作多表单操作表表9.36学生数据查看顶层和子表单的主要属性设置情况学生数据查看顶层和子表单的主要属性设置情况 9.5 多表单操作多表单操作(7)编写各事件过程中相应的代码。编写各事件过程中相应的代码。在例在例9-18.SCX 中,表单中,表单Form1的的Init事件过程代码如下:事件过程代码如下:PUBLIC JLH&定义一个公共变量定义一个公共变量JLH,用来存储用户输入的记录号,用来存储用户输入的记录号JLH=1&设设JLH变量的初值为变量的初值为1在在FORM1的的UNLOAD事件过程中编写如下代码:事件过程中编写如下代码:RELEASE JLH&清除公共变

58、量清除公共变量JLH,因为程序运行结束时公共变量不会自动清除,因为程序运行结束时公共变量不会自动清除在命令按钮组在命令按钮组COMMANDGROUP1的的CLICK事件过程中编写如下事件过程中编写如下代码:代码:X=THIS.VALUE&用变量用变量X存储用户选择命令按钮组中某个按钮的值信息存储用户选择命令按钮组中某个按钮的值信息DO CASE CASE X=1 &如果用户选择了第一个按钮如果用户选择了第一个按钮SKIPIF EOF()THIS.COMMAND1.ENABLED=.F.ENDIFTHIS.COMMAND2.ENABLED=.T.9.5 多表单操作多表单操作CASE X=2&如果用户选择了第二个按钮如果用户选择了第二个按钮SKIP -1IF BOF()THIS.COMMAND2.ENABLED=.F.ENDIFTHIS.COMMAND1.ENABLED=.T.CASE X=3&如果用户选择了第三个按钮如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论