vfp数据库及程序设计第7章 表单设计与应.ppt
《vfp数据库及程序设计第7章 表单设计与应.ppt》由会员分享,可在线阅读,更多相关《vfp数据库及程序设计第7章 表单设计与应.ppt(65页珍藏版)》请在三一办公上搜索。
1、第7章 表单设计与应用,表单是VFP创建应用程序与应用程序界面的重要途径之一,它将可视化操作与面向对象的程序设计思想有机结合在一起。表单设计器是设计表单的工具,它提供了设计应用程序界面的各种控件、相应属性、事件。它运用了面向对象的程序设计和事件驱动机制,使开发者能直观,方便,快捷的完成应用程序的设计与界面设计的开发工作。,7.1 面向对象程序设计,面向对象的程序设计思想是将事物的共性,本质内容抽象出来封装成类。VFP又将软件开发常用的功能抽象封装成标准类,开发者用类定义所需对象,通过对对象的属性设置,对事件的编程完成程序设计,VFP还提供了自定义类及面向对象的其他完整机制与功能。,1.对象(O
2、bject)现实世界中的任何实体都可以称为对象,对象可以是具体的实物,也可以是一个抽象的概念。在面向对象的程序设计中,表单、命令按钮和文本框等都是程序中的对象,是构成程序的基本单位和实体。对象是应用程序的重要组成部分,通过对象的属性、事件和方法来控制和管理对象,即属性、事件和方法是构成对象的三个要素。(1)对象属性:属性用来表示对象的状态。(2)对象方法:对象方法是描述对象行为的过程。(3)对象事件:是由对象能够识别和响应的操作。,7.1.1 对象,属性是用来描述和反映对象特征的参数。每个对象都有一组属性,对象中的数据保存在属性中。属性值既可在设计时也可在运行中设置。可以通过属性框直接设置属性
3、,也可在代码中通过赋值实现,其格式为:对象名.属性名=属性值,事件是由对象能够识别和响应的操作,这个操作是由程序员预先定义好的特定动作。使用Visual FoxPro时执行的任何动作几乎都可以看作事件。一般显示调用事件代码的格式为:对象名.事件名 方法是操作类对象的函数,通过执行该函数所定义的操作来完成一定功能。如果对象已创建,便可以在应用程序的任何一个地方调用这个对象的方法程序。调用方法的基本格式如下:对象名.方法名,1类 类是对一类相似对象的性质描述,这些对象具有相同性质、相同种类的属性以及方法。每个类由属性、事件和方法程序的定义构成。2类的特征(1)继承性:在面向对象的方法里,继承是指在
4、基于现有的类创建新类时,新类继承了现有类里的方法和属性。此外,可以为新类添加新的方法和属性。我们把新类称为现有类的子类,而把现有类称为新类的父类。(2)封装性(3)多态性,7.1.2 类(Class),1按使用方式的不同,VFP中的类可以分为:(1)可视化类(2)非可视化类2按作用的不同,VFP中的类可以分为:(1)容器:能够包含其他对象的对象是容器对象,也称之为容器控件。如:表单、命令按钮组、选项按钮组和页框等都是容器控件。(2)控件:不能包含其他对象的基本对象就是控件类对象,如:标签、命令按钮、文本框等都是控件对象,也称之为标准控件,7.1.3 类和对象的分类,7.2 可视化表单设计的基础
5、,表单是用户与VFP应用程序之间进行数据交换的界面,是最为常用的数据显示及编辑方式,它可以包含各种不同的控件,用户通过可视化的设计方法,利用这些控件制作不同的按钮、下拉框、选项框等,使用户能利用友好、美观的人机交互界面进行数据的接收、显示和编辑,实现与应用程序的连接。表单是VFP的特色所在,它克服了浏览、查询、视图等交互界面的呆板和不够丰富。表单是以文件形式保存其内容,表单文件扩展名为.SCX。根据表单数据来源的不同,可将表单分为以下几种类型:(1)简单表单,该表单的数据来源于某一个表或某一个视图。(2)复杂表单,该表单的数据来源于多个表或多个视图。(3)一对多表单,该表单的数据来源于两个表,
6、这两个表必须是按一对多的关系连接起来,其中一个为父表,另一个为子表。,常用表单属性,表单事件,表单常用方法,7.2.3 对象的引用规则,(1)引用形式对象对属性、文件、方法的引用是用点“.”运算符。形式:对象.属性|方法|事件说明:对象若有包含与被包含关系,可以从外层用“.”引用到内层对象。如在后面要介绍的命令按钮Command1,对它的Caption属性的引用可以写成:ThisForm.Command1.Caption=“确定”,这个意思是设置当前表单中的Command1按钮的Caption属性为确定。ThisForm代表当前表单。(2)对象在引用中常使用的关键字,7.3 用表单向导设计表单
7、,表单向导是通过与用户人机交互向导,完成对表进行浏览,编辑等基本操作界面的自动生成。表单向导为单表建立的表单称单表表单,为多表建立的表单称多表表单。,7.3.1 建立单表表单7.3.2 建立多表表单,1、建立表单 2、执行表单 3、编辑表单,7.4 表单设计器,用表单向导设计表单,固然简单方便又不需要编写代码,但表单向导设计出的表单是有一定的固定模式,功能也有限。如果想设计无固定模式,多功能的表单,表单向导是无法实现的。VFP提供了表单设计器这个面向对象编程的可视化工具,用以满足开发者设计风格各异,功能齐全的表单。,菜单方式新建表单:“文件”“新建”,修改表单:“文件”“打开”。命令方式新建表
8、单:CREATE FORM 文件名修改表单:MODIFY FORM 文件名,“表单设计器”窗口中有表单设计区和工具。(1)设计器窗口(2)属性窗口(3)表单设计器工具栏(4)表单控件工具栏,用表单设计器设计表单,1表单属性、方法和事件(1)表单常用属性,7.4.2 表单设计器的基本操作,(2)表单常用方法 Release方法:将表单从内存中释放。如表单有一个命令按钮,如果希望单击该命令按钮时关闭表单,就可以在该命令按钮的Click事件中包含如下代码:ThisForm.Release表单运行时,用户单击表单右上角的关闭按钮,系统会自动执行Release方法。Refresh方法:刷新表单。Show
9、方法:显示表单。该方法将表单的Visible属性设置为.T.。Hide方法:隐藏表单。该方法将表单的Visible属性设置为.F.。与Release方法不同,Hide只是把表单隐藏,但并不将表单从内存释放,之后可用Show方法重新显示表单。,(3)表单的常用事件Init事件:在表单创建时引发。在表单对象的Init事件引发之前,将先引发它所包含的控件对象的Init事件,所以在表单对象的Init事件代码中能够访问它所包含的所有控件对象。在该事件中,可以为表单或表单控件设置初始属性值、定义表单的参数、变量、打开数据库和数据等。Load事件:创建表单前引发。Active事件:当激活表单对象时触发。De
10、stroy事件:在表单对象释放时引发。表单对象的Destroy事件在它所包含的控件对象的Destroy事件引发之前引发,所以在表单对象的Destroy事件代码中能够访问它所包含的所有控件对象。在该事件中,主要是释放有关变量、关闭有关数据库和表等。UnLoad事件:在表单对象释放后引发。,2、控件的操作与布局,控件操作(1)在表单中放置控件(2)控件在表单中的复制与粘贴(3)调整大小(4)删除控件(5)在表单中放置多个同类的控件控件的布局,7.4.3 设置数据环境 1数据环境 数据环境是一个对象,它包含与表单相互作用的表或视图,以及表之间的关系。默认情况下,数据环境中的表或视图会随表单的运行而打
11、开,并随表单的关闭而关闭。2打开“数据环境设计器”单击“表单设计器”工具栏上的“数据环境”按钮,或选择“显示”“数据环境”菜单命令 3向数据环境中添加表或视图 4从数据环境中移去表或视图 5在“数据环境设计器”中设置临时关系 将主表的某个字段拖曳到子表相匹配的索引标记或某个字段上,7.5 常用表单控件,常用控件的公共属性name:控件的名称,它是代码中访问控件的标识(表单或表单集除外)。Fontname:字体名。Fontbold:字体样式为粗体。Fontsize:字体大小。Fontitalic:字体样式为斜体。Forecolor:前景色。Height:控件的高度Width:控件的宽度。控件的高
12、度和控件的宽度,也可在设计时通过鼠标拖曳进行可视化调整。Visible:控件是否显示。Enabled:控件运行时是否有效。如果为.T.,则表示控件有效,否则运行时控件不可使用。,7.5.1 标签(Label)控件,1标签控件的功能标签主要用于显示固定的文本信息。2标签控件常用属性caption:指定标签的显示文本。可以在设计时设置,也可以在程序运时设置或修改。autosise:autosise如果为真,标签在表单中的大小由caption属性中的文本长度决定,否则其大小由WIDTH和HEIGHT属性决定。forecolor:设置标题的字体颜色。backstyle:设置标签的背景是否透明,0透明,
13、1不透明,默认为不透明。name:标签对象的名称,是程序中访问标签对象的标识。,7.5.2 文本框(TextBox)控件,1文本框控件的功能:(1)用于显示或接收单行文本信息(不设置ControlSource属性),默认输入类型为字符型,最大长度为256个字符。(2)用于显示或编辑对应变量或字段的值(设置ControlSource属性为已有变量或字段名)。,2文本框控件常用属性ControlSource:设置文本框的数据来源。一般情况下,可以利用该属性为文本框指定一个字段或内存变量。Value:保存文本框的当前内容,如果没有为ControlSource属性指定数据源,可以通过该属性访问文本框的
14、内容。它的初值决定文本框中值的类型。如果为ControlSource属性指定了数据源,该属性值与ControlSource属性指定的变量或字段的值相同。PassWordChar:设置输入口令时显示的字符。Readonly:确定文本框是否为只读,为“.T.”时,文本框的值不可修改。,7.5.3 命令按钮(CommandButton)控件,1命令按钮控件功能 命令按钮典型地用来启动某个事件代码、完成特定功能,如关闭表单、移动记录指针、打印报表等。,2命令按钮控件常用属性 Default:命令按钮的Default属性默认值为.F.,如果该属性设置为.T.,在该按钮所在的表单激活的情况下,按Enter
15、,可以激活该按钮,并执行该按钮的Click事件代码。一个表单只能有一个按钮的Default属性为真。Cancel:命令按钮的Cancel属性默认值为.F.,如果设置为.T.,在该按钮所在的表单激活的情况下,按Esc键可以激活该按钮,并执行该按钮的Click事件代码。一个表单只能有一个按钮的Cancel 属性为真。Caption:设置按钮的标题。Enable:确定按钮是否有效,如果按钮的属性Enable为.F.,单击该按钮不会引发该按钮的单击事件。对命令按钮的使用最重要的是编写Click事件代码。,【例】创建一个如图所示的登录窗口,并将表单保存为FORM2。,在确定按钮的单击事件中输入如下代码:
16、if thisform.text1.value=user1 and thisform.text2.value=123456 messagebox(用户名正确,0,提示)elsemessagebox(密码或用户名错误,0,提示)endif,【例】设计表单计算并显示1+2+3+100的累积和。,s=0for i=1 to 100 s=s+iEndforthisform.text1.value=alltrim(str(s),7.5.4 命令按钮组(CommandGroup)控件,1命令按钮组功能 命令按钮组是包含一组命令按钮的容器控件,用户可以单个或作为一组来操作其中的按钮。,2命令按钮组常用属性B
17、uttoncount:命令按钮组中命令按钮的数目。Value:默认情况下,命令按钮组中的各个按钮被自动赋予了一个编号,如1,2,3,等,当运行表单时,一旦用户单击某个按钮,则Value将保存该按钮的编号,于是在程序中通过检测Value的值,就可以为相应的按钮编写特定的程序代码。如果在设计时,给Value赋予一个字符型数据,当运行表单时,一旦用户单击某个按钮,则Value将保存该按钮的Caption属性值。Buttons:用于存取命令按钮组中每个命令按钮的数组,代码中可以通过该数组访问命令按钮组中的各个按钮.,【例】在表单上有一个命令按钮和命令按钮组,该命令按钮组包括3个命令按钮。当单击命令按钮
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vfp数据库及程序设计第7章 表单设计与应 vfp 数据库 程序设计 表单 设计
链接地址:https://www.31ppt.com/p-5452121.html