《第6章表单设计器.ppt》由会员分享,可在线阅读,更多相关《第6章表单设计器.ppt(53页珍藏版)》请在课桌文档上搜索。
1、全国计算机等级考试,Visual FoxPro 程序设计,数 据 库 应 用,第6章 表单设计器,表单(Form)是Visual FoxPro提供的用于建立应用程序界面的最主要的工具之一。表单内可以包含命令按钮、文本框、列表框等各种界面元素,产生标准的窗口或对话框。,第6章 表单设计器,本章知识点在笔试考试中的分析明细表,6.1 面向对象的概念,1.对象与类 1)对象 客观世界里的任何实体都可以被看作是对象。对象可以是具体的事物(如一台电脑、一个表单、一个命令按钮),也可以是抽象的概念(一场球赛、一次演讲)。对象的属性和方法是对象的两个重要性质。对象属性:用来表示对象的状态。对象方法:用来描述
2、对象的行为。在面向对象的方法里,对象被定义为由属性和相关方法组成的包。,6.1 面向对象的概念,2)类 类是对一类相似对象的性质描述,这些对象具有相同的性质、相同的种类和方法。通常,把基于某个类生成的对象称为这个类的实例。可以说,任何一个对象都是某个类的一个实例。例如:学生这个群体是一个类,而学生中的每个成员都是这个类的一个对象。需要注意的是,方法尽管定义在类中,但执行方法的主体是对象。,6.1 面向对象的概念,2.子类与继承 继承表达了一种从一般到特殊的进化过程。在面向对象的方法里,继承是指在基于现有的类创建新类时,新类继承了现有类的方法和属性。之外,可以为新类添加新的方法和属性。把新类称为
3、现有类的子类,而把现有类称为新类的父类。例如:飞机是客机的父类,客机是飞机的一个子类。这里的飞机和客机就是一个一般和特殊的关系。,6.1 面向对象的概念,一个子类的成员一般包括:从它的父类继承的成员,包括属性、方法;由子类自己定义的成员,包括属性、方法。继承可以使在一个父类所作的改动自动反映到它的所有子类上。例如,当为父类添加一个属性时,它的所有子类也将同时具有该属性。同样,当修复父类中的缺陷时,这个修复也将自动体现在它的全部子类中。,6.2 Visual FoxPro基类简介,1.VFP基类 Visual FoxPro基类是系统本身内含的、并不存放在某个类库中。用户可以基于基类生成所需的对象
4、,也可以扩展基类创建自己的类。每个基类都有自已的一组属性、方法和事件。当扩展某个基类创建用户自定义类时,该基类就是用户自定义类的父类,用户自定义类继承该基类中的属性、方法和事件。下表列出了Visual FoxPro基类的最小属性集,不管哪个基类,都包含这些属性。,6.2 Visual FoxPro基类简介,2.容器与控件 Visual FoxPro中的类一般可分为两种类型:容器类和控件类。可分别生成容器对象和控件对象。控件是一个可以以图形化的方式显示出来并能与用户进行交互的对象,如一个命令按钮、一个文本框等。控件通常被放置在一个容器里。容器可以认为是一个特殊控件,能包含其他的控件或容器,象表单
5、、页框、表格、命令按钮组、选项按钮组等都是容器。这里把容器对象称为那些被包容对象的父对象。在容器的嵌套层次关系中,引用其中某个对象,需指明对象在嵌套层次中的位置。经常要用到的关键字是:Parent(对象的直接容器对象,即父对象);This(当前对象);ThisForm(当前表单);ThisFormSet(当前表单集)。,6.2 Visual FoxPro基类简介,2.容器与控件 下面来了解一下常用的几个关键字(this、parent、thisform)的应用。this及parent的应用。在图6-2中有一个命令按钮Command1,双击此按钮,在它的Click事件中输入以下命令,并分别运行表单
6、:this.caption=命令按钮 this.parent.caption=表单标题 this.parent.text1.Value=文本框 thisform的应用。继续在命令按钮Command1中输入以下命令:Tmand1.caption=命令按钮 Thisform.text1.Value=文本框 Thisform.pageframe1.page1.caption=页面1 总之,一定要注意this、thisform和parent三者的区别,this是当前对象,thisform是当前表单,parent是当前对象的父对象。,6.2 Visual FoxPro基类简介,3.事件 事件是一种由系统
7、预先定义而由用户或系统发出的动作。事件作用于对象,对象识别事件并作出相应反应。事件是固定的,用户不能自定义事件。事件可以有用户引发,还可以由系统引发。事件代码既能在事件引发时执行,也可以象方法一样被显示调用。下表列出了Visual FoxPro的最小事件集,不管哪个基类,都包含这些事件。,6.3 创建与运行表单,可以用CREATE OBJECT函数来生成表单对象,但更多的时候我们利用表单设计器或者表单向导来创建表单文件。1.创建表单 创建表单一般有以下两种途径:1)使用表单设计器创建表单。2)使用表单向导创建表单。,6.3 创建与运行表单,1.创建表单 1)使用表单设计器创建表单。在项目管理器
8、中创建。在“项目管理器”窗口中选择“文档”选项卡,然后选择其中的“表单”图标,单击“新建”按钮 通过文件菜单创建。单击“文件”菜单中的“新建”命令,打开“新建”对话框,选择“文件类型”中的“表单”选项,再单击“新建文件”用命令方式调用:在命令窗口输入CREATE FORM 或MODIFY FORM创建表单,6.3 创建与运行表单,1.创建表单 2)使用表单向导创建表单 Visual FoxPro提供了以下两种表单向导来帮助用户创建表单。“表单向导”适合于创建基于一个表的表单。“一对多表单向导”适合于创建基于两个具有一对多关系的表单。,6.3 创建与运行表单,调用表单向导的方法是:在“项目管理器
9、”窗口中选择“文档”选项卡,然后选择其中的“表单”图标,单击“新建”按钮,系统会弹出“新建表单”对话框,在此对话框中单击“表单向导”图标按钮,打开“向导选取”对话框,从列表框中选择要使用的向导,然后单击“确定”按钮。单击“文件”菜单中的“新建”命令,或单击常用工具栏的“新建”按钮。打开“新建”对话框,选择“文件类型”中的“表单”选项,再单击“向导”按钮。,6.3 创建与运行表单,2.修改已有的表单 打开表单设计器进行编辑修改。修改表单时有3种打开表单设计器的方法:打开项目管理器的“文档”选项卡,选择表单文件,单击“修改”按钮。单击“文件”菜单下的“打开”,在“打开”对话框中选择要打开的表单文件
10、,单击“确定”按钮。通过命令MODIFY FORM 打开表单设计器。,6.3 创建与运行表单,3.运行表单运行表单的方法有4种:在项目管理器中选中要运行的表单文件,再单击“运行”按钮;在表单设计器环境下,单击常用工具栏上的运行按钮。通过“程序”菜单中的“运行”命令。用命令方式运行,其命令格式为:DO FORM NAME WITH,LINKEDNOSHOW来运行。格式说明:如果包含NAME子句,系统将建立指定名字的变量,并使它指向表单对象;否则,系统建立与表单文件同名的变量指向表单对象。如果使用WITH子句,那么在表单运行引发Init事件时,系统会将各实参的值传递给该事件代码PARAMETERS
11、或LPARAMTERS子句中的各参数。如果包含LINKED关键字,表单对象将随指向它的变量的清除而关闭(释放);否则,即使变量已经清除,表单对象依然存在。如果使用NOSHOW子句,表单对象在运行的时候将不会显示,直到表单对象的Visible属性被设置为.T.,或者调用了SHOW方法。,6.3 创建与运行表单,3.运行表单 举例:通过表单设计器设计一个文件名为myform的空表单,然后通过DO FORM命令运行它。操作过程如下:在命令窗口输入命令:CREATE FORM myform打开表单设计器 从“文件”菜单中选择“保存”命令(或单击常用工具栏上的保存按钮),以myform作为文件名保存表单
12、文件。然后单击“关闭”按钮,关闭表单设计器窗口。在命令窗口中输入命令:DO FORM myform。此时表单显示的屏幕上。单击表单窗口的“关闭”按钮,关闭(释放)表单。,6.4 表单设计器,1.表单设计器环境 表单设计器启动后,主窗口上会出现“表单设计器”窗口、“属性”窗口、“表单控件”工具栏、“表单设计器”工具栏及“表单”菜单,如下图所示。,6.4 表单设计器,1.表单设计器环境 1)表单设计器窗口 此窗口内含正在设计的表单,可以向其添加和修改控件。表单只可在此窗口中移动。2)属性窗口 此窗口包括对象框、属性设置框和属性、方法、事件列表框。对于表单及控件的绝大多数据属性,其数据类型通常是固定
13、的,如Width属性只能接收数据值型数据,Caption只能接收字符型数据,但有些属性的数据类型并不是固定的,如文本框的Value属性可以是任意数据类型,复选框的Value属性可以是数值型的,也可以是逻辑型的。注意:要为属性设置一个字符型值,可以在设置框中直接输入,不需要加定界符。否则系统会把定界符作为字符串的一部分。要把一个属性设置为默认值,可以在属性列表框中右键单击该属性,然后从快捷菜单中选择“重置为默认值”命令。,6.4 表单设计器,1.表单设计器环境 3)表单控件工具栏 内含控件按钮,可以方便地向表单中添加控件。4)表单设计器工具栏 内含“设置Tab键次序”按钮、“数据环境”按钮、“属
14、性”窗口等 5)表单菜单 表单菜单中的命令主要用于创建、编辑表单或表单集及为表单增加新的属性或方法,6.4 表单设计器,2.控件的操作与布局 在表单设计器环境下,可以对表单中的控件进行诸如移动、复制、布局等操作,也可以为控件设置Tab键次序。1)控件的基本操作 控件的基本操作包括选定控件、移动控件、调整控件大小、复制控件、删除控件这几方面的操作,这些基本操作不再详细讲解。2)控件布局 利用“布局”工具栏中的按钮,可以方便地调整被选控件的相对大小或位置。“布局”工具栏可以通过单击表单设计器工具栏上的“布局工具栏”按钮或选择“显示”菜单中的“布局工具栏”命令打开或关闭。注意:在使用这些工具时要首先
15、选中需要调整的控件。然后单击“布局”工具栏上的相应按钮即可。,6.4 表单设计器,2.控件的操作与布局 3)设置Tab键次序 目的是为了设置焦点在控件间的移动顺序。常用的设置方法:选择“显示”菜单中的“Tab键次序”命令或单击“表单设计器”工具栏上的“设置Tab键次序”按钮,进入Tab键次序设置状态,此时,控件上方出现深色小方块,称为Tab键次序盒,双击某个控件的Tab键次序盒,该控件将成为Tab键次序中的第一个控件,然后按需要的次序依次单击其它按钮,确认设置。按Esc键,放弃设置,退出设置状态。,6.4 表单设计器,3.数据环境 为表单建立数据环境可以方便设置控件与数据间的绑定关系。数据环境
16、中能包含表单所需要的一些表、视图及表间的关联,通常它们会随着表单的打开而打开,随着表单的关闭而关闭。1)打开数据环境设计器 可以在表单设计器上点击“表单设计器”工具栏上的“数据环境”按钮;或“显示”菜单中的“数据环境”命令;也可以在表单上右击鼠标选择“数据环境”命令。,6.4 表单设计器,3.数据环境 2)向数据环境添加表或视图 选择“数据环境”菜单中的“添加”命令,或右击“数据环境设计器”窗口,在快捷菜单中选择“添加”命令,打开“添加表或视图”对话框。如果数据环境原来是空的,那么在打开数据环境设计器时,该对话框会自动出现。在对话框中选择要添加的表或视图并单击“添加”按钮。还可以单击“其他”按
17、钮,选择需要的其他表或视图。向数据环境添加表或视图的界面如下图所示。,6.4 表单设计器,3.数据环境 3)从数据环境中移去表或视图 在“数据环境设计器”窗口中,单击选择要移去的表或视图,选择“数据环境”菜单下的“移去”,或右击表或视图,在快捷菜单中单击“移去”。4)向表单添加字段 向表单添加控件常用下面的方法:从“数据环境设计器”窗口直接将字段拖入表单。默认情况下:如果拖动的是字符型字段,会产生一个文本框控件,并自动将该文本框与相应的字段绑定在一起;如果拖动的是逻辑型字段,将产生复选框控件;如果拖动的是备注型字段,将产生编辑框控件;如果拖动的是表或视图,将产生表格控件。,6.5 表单属性和方
18、法,1.常用表单属性:表单属性大约有100个,多数很少用。常用属性见下表。,6.5 表单属性和方法,2.常用的事件与方法 1)常用的事件:表单中的常用事件见下表。,6.5 表单属性和方法,2.常用的事件与方法 1)常用的事件 一般来说,用户触发事件是没有顺序性的,但一个对象上所产生的系统触发事件还是有先后次序的。表单对象从创建到被释放的整个过程可以分为5个阶段。装载阶段(Load事件)对象生成阶段(Init事件)交互操作阶段(如单击事件)对象释放阶段(Destroy事件)卸载阶段(Unload事件)有关表单和控件的Load、Init、Destroy、Unload事件的先后顺序可总结为:表单的L
19、oad事件 表单中控件的Init事件 表单的Init事件 表单的Destroy事件 表单中控件的Destroy事件 表单的Unload事件 下面通过举例演示这些事件的触发顺序:操作演示,6.5 表单属性和方法,2.常用的事件与方法 1)常用的方法 表单中常用的方法如下表所示。,6.5 表单属性和方法,3.添加新的属性和方法 1)创建新属性 选择“表单”菜单中的“新建属性”命令,打开“新建属性”对话框。在“名称”文本框中输入属性名。有选择地在“说明”文本框中输入新属性的说明信息。2)创建新方法 选择“表单”菜单中的“新建方法程序”命令,打开“新建方法程序”对话框。在“名称”文本框中输入方法名。有
20、选择地在“说明”文本框中输入新方法的说明信息。3)编辑方法或事件代码 选择“显示”或“代码”菜单命令,打开代码编辑窗口。从“对象”列表框中选择方法或事件所属的对象。从“过程”列表框中指定需要编辑的方法或事件。在编辑区输入或修改方法或事件的代码。,6.5 表单属性和方法,4.信息对话框的设计 1)MessageBox()的用法 格式:MessageBox(信息文本,对话框类型,标题文本)说明:“信息文本”是要在对话框中显示的信息。“对话框文本”是3个整数之和,用于指定对话框的样式,包括对话框中的按钮形式及其数目、图标样式以及缺省按钮。“标题文本”指定对话框标题栏的文本,6.5 表单属性和方法,4
21、.信息对话框的设计 2)MessageBox()的返回值 单击消息框中的按钮后,会有一个返回值,可以将这个返回值赋给一个内存变量,程序中可利用返回值判断用户的选择,进而作出相应的处理。下面是单击各按钮后所对应的返回值。1确定,2取消,3终止,4重试,5忽略,6是,7否。例如:在命令窗口中输入以下命令:X=MessageBox(“是否开始考试?”,4+32,”提示窗口”)?X 当单击“是”按钮后,内在变量X的值等于6。,6.6基本型控件,1.标签(Label)控件 标签控件是用以显示文本的图表控件,被显示的文本在Caption属性中指定,称为标题文本。其常用属性如下表所示。,6.6基本型控件,2
22、.命令按钮(Command Button)命令按钮用来启动某个事件代码完成特定功能,如关闭表单、执行查询命令等。其常用属性如下表所示。,6.6基本型控件,3.文本框(TextBox)文本框是常用控件,其常用属性如下表所示。,6.6基本型控件,4.编辑框(EditBox)与文本框一样,编辑框也用来输入、编辑数据,但它有自己的特点:编辑框实际上是一个完整的字处理器,可以包含回车符,也可以有垂直滚动条。编辑框只能输入、编辑字符型数据。其常用属性如下表所示。,6.6基本型控件,5.复选框(CheckBox)一个复选框用于标记两种状态,如真(.T.)或假(.F.)。当处于选中状态时,复选框内显示一个对勾
23、();否则,复选框内为空白。其常用属性如下表所示。,6.6基本型控件,6.列表框(List1)列表框提供一组条目,用户可以从中选择一个或多个条目。可通过滚动条浏览其他条目。其常用属性如下表所示。除MultiSelect属性外,还适用于组合框。,6.6基本型控件,6.列表框(List1)其中的RowSourceType属性的设置值如下表所示。还适用于组合框。,6.6基本型控件,7.组合框(ComboBox)组合框与列表框类似,也是用于提供一组条目供用户从中选择。上面介绍的列表框属性对组合框同样适用(除MultiSelect外),并且具有相似的含义和用法。组合框与列表框的主要区别在于:对于组合框来
24、说,通常只有一个条目是可见的。而列表框可以看到多个条目,还可以拖动滚动条看到更多的条目。组合框不提供多重选择的功能,没有MultiSelect属性。而列表框有多重选择的功能。组合框有两种形式:下拉组合框和下拉列表框。通过设置Style属性来选择想要的形式:0表示选择下拉组合框。用户可从列表中选择条目,又可以在编辑区内输入。2表示选择下拉列表框。用户只能从列表中选择条目。,6.6基本型控件,8.计时器控件(Timer)计时器控件能对时间作出反应,可以让计时器以一定的间隔重复地执行某种操作。计时器通常用来检查系统时钟,确定是否到了应该执行某一任务的时间。对于其他一些后台处理,计时器也很有用。其常用
25、属性如下表所示:,6.6基本型控件,9.微调控件(Spinner)微调控件主要用于接受数值的输入,每按一次向上或向下的箭头,就可以增加或减少微调值。用户可以通过设置Increment属性,来确定增加或减少的步长。微调控件也可以与文本框相配合来微调其他数据类型的值。其常属性如下表所示。,6.7 容器型控件,1.命令组(CommandGroup):其常用属性如下表所示。,6.7 容器型控件,2.选项组(OptionGroup)选项组又称为选项按钮组。是包含选项按钮的一种容器。一个选项组中往往包含若干个选项按钮,但用户只能从中选择一个按钮。其常用属性如下表所示。,6.7 容器型控件,3.表格(Gri
26、d)表格是一种容器对象,其外形与Browse窗口相似,一个表格由若干列对象(Column)组成,每个列对象包含一个标头对象(Header)和若干控件。这里,表格、列、标头和控件都有自己的属性、事件和方法。1)表格设计的基本操作 调整表格的行高和列宽 一旦指定了表格的列数(通过ColumnCount属性值来设置,默认为-1,可以为此属性指定一个正值),就可以用2种方法来调整表格的行高和列宽。通过设置表格的HeaderHeight和RowHeight属性调整行高,通过设置列对象的Width属性调整列宽。让表格处于编辑状态(可右击表格编辑),然后通过鼠标拖动操作表格的行高和列宽。表格生成器 表格设计
27、也可以调用表格生成器来进行。步骤如下:首先在表单中放置一个表格控件,右击表格,在快捷菜单中选择“生成器”,在打开的“表格生成器”对话框中设置有关选项参数,最后单击确定。“表格生成器”。,6.7 容器型控件,3.表格(Grid)2)常用表格属性:其常用属性如下表所示。,6.7 容器型控件,3.表格(Grid)2)常用的列属性:其常用属性如下表所示。,6.7 容器型控件,3.表格(Grid)2)常用的标头(Header)属性:其常用属性如下表所示。,6.7 容器型控件,3.表格(Grid)2)常用的标头(Header)属性:其常用属性如下表所示。,6.7 容器型控件,4.页框(PageFrame)页框是包含页面的容器对象,且页面本身也是一种容器,可以包含所需的控件。其常用属性如下表所示。,本章小结,本章详细地介绍了表单设计器环境、表单的设计方法及其典型应用,同时也较具体的介绍了一些常用控件的使用,其中最重要的知识点是文本框、组合框、列表框、表格控件的使用,要明白如何将表或表中的字段与这些控件建立联系;如何设置这几个控件的数据源类型和数据源。本章的知识点较多,大家要多做练习,牢固掌握这些知识点。,
链接地址:https://www.desk33.com/p-758705.html