VFP表单设计与应用.docx
《VFP表单设计与应用.docx》由会员分享,可在线阅读,更多相关《VFP表单设计与应用.docx(11页珍藏版)》请在冰豆网上搜索。
VFP表单设计与应用
第九章VFP表单设计与应用
大纲要求
使用表单设计器:
(1)在表单中加入和修改控件对象。
(2)设定数据环境。
知识要点
1.表单
表单(Form)就是一个输入或显示某种信息的界面(窗口),是VisualFoxPro提供的用于建立应用程序界面的工具之一。
被大量应用于人机交互界面的设计当中。
应用表单设计功能,可以设计出具有Windows风格的各种程序界面。
由于表单使用非常频繁,所以在VFP中,专门提供了一个表单设计器来设计表单程序。
表单是一个容器,除含有窗口的标准控件标题栏、控制按钮外,可以向表单中添加各种对象,如按钮、文本框、表格、图片等。
在表单设计器环境下可以进行添加、删除及布局控件的操作。
2.对象
对象(Object)是反映客观事物属性及行为特征的描述。
客观世界里的任何实体都可以被看作是对象。
对象可以是具体的物,也可以指某些概念。
从编程的角度来看,对象是一种将数据和操作过程结合在一起的数据结构,或者是一种具有属性(数据)和方法(过程和函数)的集合体。
事实上程序中的对象就是对客观世界中对象的一种抽象描述。
每个对象都具有描述其特征的属性,及附属于它的行为。
对象把事物的属性和行为封装在一起,是一个动态的概念。
对象是面向对象编程的基本元素,是“类”的具体实例。
(1)对象属性:
属性用来表示对象的状态。
(2)对象方法:
对象方法是描述对象行为的过程。
对象的属性特征标识了对象的物理性质,对象的行为特征描述了对象可执行的行为动作;对象的每一种属性,都是与其他对象加以区别的特性,都具有一定的含义,并赋予一定的值;对象大多数是可见的,也有一些特殊的对象是不可见的。
3.类
1)类是对一类相似对象的性质描述,这些对象具有相同种类的属性以及方法就好比是一个摸板。
对象是类的一个实例。
2)类的类型子类和父类
3)类的四大特征
§继承性--说明了子类延用父类特征的能力;
§多态性--指一些关联的类包含同名的方法程序,但方法程序的内容可以不同,具体调用在运行时根据对象的类确定;
§封装性--说明包含和隐藏对象信息,如内部数据结构和代码的能力;
§抽象性--指提取一个类或对象与众不同的特征,而不对该类的所有信息进行处理。
4.子类与继承在面向对象的方法里,继承是指在基于现有的类创建新类时,新类继承了现有类里的方法和属性。
此外,可以为新类添加新的方法和属性。
我们把新类称为现有类的子类,而把现有类称为新类的父类。
一个子类的成员一般包括:
(1)从其父类继承的属性和方法。
(2)由子类自己定义的属性和方法。
5.基类VisualFoxPro基类是系统本身内含的,并不存放在某个类库中。
用户可以基于基类生成所需要的对象,也可以扩展基类创建自己的子类。
VFP基类的种类:
每个VFP基类都有自己的一套属性、方法和事件。
当扩展某个基类创建用户自定义类时,该类就是用户自定义类的父类,用户自定义类继承该基类中的属性、方法和事件。
在程序设计中,可以使用CREATEOBJECT函数来直接生成基于某个类的对象。
该函数的格式如下:
CREATEOBJECT(<类名>[,<参数1>,<参数2>,……])函数基于指定的类生成一个对象,并返回对象的引用。
对象属性访问以及对象方法调用的基本格式如下:
<对象引用>.<对象属性>
<对象引用>.<对象方法>[(参数列表)]
【例】基于VisualFoxPro的FORM类生成一个对象,然后访问该对象的一些属性和方法。
Oform=CREATEOBJECT("Form")&&生成一个空白表单
Oform.show&&显示表单
Oform.caption=”演示”&&修改表单的标题
?
”这是一个生成对象的演示程序”&&在表单上输出字符串
Oform.release
6.容器和控件
VisualFoxPro中的类一般可分为两种类型:
容器类和控件类。
相应地,可分别生成容器(对象)和控件(对象)。
控件:
是一个可以以图形化的方式显示出来并能与用户进行交互的对象。
控件常被放置在一个容器里。
容器:
容器可以被认为是一种特殊的控件,它能包容其他的控件或容器控件是一个可以以图形化的方式显示出来,并能与用户进行交互的对象。
7.事件
事件是一种由系统预先定义而由用户或系统发出的动作。
事件作用于对象,对象识别事件并作出相应反应与方法集可以无限扩展不同,事件集是固定的,用户不能定义新的事件。
8.建立表单
表单(Form)是VisualFoxPro提供的用于建立应用程序界面的最主要的工具之一。
表单相当于WINDOWS应用程序的窗口。
表单可以属于某个项目,也可以游离于任何项目之外,它是一个特殊的磁盘文件,其扩展名为.scx。
在项目管理器中创建的表单自动隶属于该项目。
创建表单一般有两种途径:
1)使用表单向导创建简易的数据表单;
2)使用表单设计器创建或修改任何形式的表单。
(1)使用表单向导启动表单向导有以下四种途径:
①打开“项目管理器”,选择“文档”选项卡,从中选择“表单”。
然后单击“新建”按钮。
在弹出的“新建表单”对话框中单击“表单向导”按钮。
②在系统菜单中选择【文件】|【新建】命令,或者单击工具栏上的“新建”按钮,打开“新建”对话框,在文件类型栏中选择“表单”。
然后单击“向导”按钮。
③在系统菜单中选择【工具】|【向导】|【表单】命令。
④直接单击常用工具栏上的“表单向导”图标按钮。
按步骤依照“表单向导”完成单表表单或一对多表表单的设计
(2)使用表单设计器启动表单设计器有多种方法:
●菜单方法:
假设是新建表单,在系统菜单中选择【文件】|【新建】,在文件类型对话框中选择“表单”,单击“新建文件”按钮;假设是修改表单,则单击【文件】|【打开】,在打开对话框中选择要修改的表单文件名,单击“打开”按钮。
●命令方法:
在COMMAND窗口输入如下命令:
CREATEFORM<文件名>&&创建新的表单或MODIFYFORM<文件名>&&打开一个已有的表单●在项目管理器中,先选择文档标签,然后选择表单,单击新建按钮。
假设是修改表单,选择要修改的表单,单击“修改”按钮。
3)设计器窗口“表单设计器”窗口内包含正在设计的表单。
用户可在表单窗口中可视化地添加和修改控件、改变控件布局,表单窗口只能在“表单设计器”窗口内移动。
以新建方式启动表单设计器时,系统将默认为用户创建一个空白表单,如图。
4)属性窗口
表单属性是描述表单特征的参数。
程序中的表单作为由它的父类派生的对象,继承了父类的所有属性及其值。
用户可以在设计阶段通过属性窗口修改,也可以在程序中通过程序代码修改表单属性的值。
设计表单的绝大多数工作都是在属性窗口中完成的,因此用户必须熟悉属性窗口的用法。
如果在表单设计器中没有出现属性窗口,可在系统菜单中单击【显示】|【属性】,属性窗口如下图。
右击表单页面,选“属性”选项,系统即弹出表单属性窗口,其窗口分以下五部分:
(1)对象列表:
该下拉列表中以树形结构分层列出了当前表单及其所包含的对象的名称,单击下拉按钮,可以从中选择表单中的对象。
(2)属性分类选项页:
这部分有5个小项目,分别如下:
①全部--按字母排序的对象的所有属性。
②数据--与对象数据有关的属性。
③方法程序--对象的事件触发程序和方法程序④布局--控制对象外观的属性,如颜色等。
⑤其他--不属以上②、③、④各项的属性。
(3)属性列表:
列出当前选项页的所有属性名及其取值。
单击属性列表中的某一项目,则选中该属性,称为当前属性。
(4)属性值输入框:
用来输入或选择当前属性的值。
(5)属性说明:
对当前属性的文字解释可见,在表单设计器中设置属性值时,需要先在属性窗口的对象列表框中选择要修改的对象,再选择属性分类选项页,找到属性,最后在输入框输入新值。
(有时,属性值可以从属性列表选择或通过对话框选择)
属性设置
控件属性的设置方法与表单属性相同,可以采用两种方法:
一是在属性窗口设置--先从对象列表中选择对象,再在下面的属性列表中选择要设置的属性,在窗口中间的属性值输入框中输入(或从下拉列表、
对话框中选取);二是通过属性赋值语句完成,根据引用方式的不同,属性赋值命令的格式有绝对引用格式和相对引用格式两种,分别如下:
(1)绝对引用:
包含对象的各层容器名.对象名.属性名=值
(2)相对引用:
This.属性名=值
或:
Thisform.表单内包含对象的各层容器名.对象名.属性名=值设置属性值也可以在程序代码中实现,例如:
Form1.BackColor=RGB(255,0,0)
THISFORM.Caption=“学生数据录入”
可分别设置表单的背景色和标题。
Thisform.Picture=“c:
\windows\setup.bmp”
可用来设置当前表单的背景。
5)表单控件工具栏设计表单的主要任务就是利用“表单控件”设计交互式用户界面。
“表单控件”工具栏是表单设计的主要工具。
默认包含21个控件、4个辅助按钮,如下图。
6)表单设计器工具栏
·系统在打开表单设计器的同时会自动打开表单设计工具栏。
通过工具栏可以快速启动表单设计中常用的工具和对话窗口。
·其中“表单生成器”工具可以为新建的表单调出表单向导的窗口,利用表单向导生成表单。
·自动格式窗口可以选择合适的样式,对表单及控件的颜色、字体、布局等快速进行格式化。
9.数据环境
表单的运行往往需要打开一定的数据表和关联,VFP提供的数据环境可以在表单打开时自动打开设计时指定的数据表和关联。
数据环境的设计在表单设计时完成。
(1)打开数据环境设计器
■表单设计器环境下,单击“表单设计器”工具栏上的“数据环境”按钮;
■选择【显示】|【数据环境】命令,即可打开“数据环境设计器”窗口,此时,系统菜单栏上将出现“数据环境”菜单。
■在表单设计器中右击鼠标,选择快捷菜单中的“数据环境…”。
打开数据环境设计器,从中就可以向数据环境中添加希望打开表单时一同打开的数据表和视图。
在数据环境设计器中,向数据环境添加数据表或视图的方法有多种:
■从菜单“数据环境”中选择“添加”,打开“添加表或视图”对话框,从中选择。
■右单击数据环境设计器页面,选择“添加”
■激活项目管理器窗口,选“数据”选项页,展开数据树,找到要添加的数据表或视图,拖到数据环境设计器中。
■右单击添加到数据环境中的数据表标题,选择“移去”,可将数据表从数据环境中移走。
(2)数据环境中的数据表或视图建立关联的方法:
将父表的关键字段拖到子表的要建立关联的索引名上即可。
如果子表未建立所需索引,可以在拖动到子表的字段名上,系统提示是否建立索引时,选“是”即可。
(3)数据环境的常用属性数据环境实际上是其所属表单的一个容器类对象,具有完整的属性集和方法程序。
常用的两个数据环境属性是:
AutoOpenTablesAutoCloseTables
(4)向数据环境添加表或视图在数据环境设计器环境下,按以下方法向数据环境添加表或视图:
在系统菜单中选择【数据环境】|【添加】命令,或右键单击“数据环境设计器窗口”,然后在弹出的快捷菜单中选择【添加】命令,打开“添加表或视图”对话框,如下图。
如果数据环境原来是空的,那么在打开数据环境设计器时,该对话框就会自动出现。
10.事件与方法过程
■事件:
当操作者对某一对象进行某种操作时,就会产生一个与此动作相关的事件,激发事件过程的执行,完成操作目的。
比方单击按钮时,该按钮就发生了一个按钮事件,假设这是一个对数据库排序的按钮,那么程序员就应该在该按钮的单击(click)事件中加入排序的程序代码。
可视化开发的任务之一就是编写事件程序实现软件的功能。
所以,掌握常用控件的常用事件是学习的任务之一。
■方法:
对象包含一些完成特定工作的过程,允许程序员在事件过程中调用,这样的过程成为方法。
比方:
调用表单的Circle方法,可以在表单上画一个圆。
比照而言,方法过程只能被其他过程调用,事件过程主要是被事件触发,也可以被调用。
■不同的对象有不同的方法集,对象的事件和方法名称都列在该对象的属性窗口的“方法程序”选项页中,双击事件或方法名称就可以启动代码窗口,编写相应的过程程序。
第十章报表设计与应用
大纲要求
使用报表设计器:
(1)生成快速报表。
(2)修改报表布局。
(3)设计分组报表。
(4)设计多栏报表。
知识要点
报表布局
VisualFoxPro6.0中包含的布局类型有:
●列报表
●行报表
●一对多报表
●多列报表
【例】利用报表向导设计学生成绩报表,要求输出学生学号、、课程代号、成绩并保存为“R1”。
①启动报表向导:
因为本例报表数据基于两个表(STUD和SC),所以在“向导选取”对话框中应选择“一对多报表向导”
②选择父表字段:
在如图中选择数据表STUD,
从“可用字段”列表中选择“学号”,
单击左边的左箭头按钮,
或者直接双击“学号”字段,
该字段会自动出现在“选定
字段”列表中,同样方法
添加、班级字段
③选择子表字段:
选择SC表,并把课程代号和成绩字段加入到“选定字段”列中。
单击“下一步”按钮
④设置报表标题为“学生成绩报表”,单击“预览”可以观察报表效果,如果满意,单击“完成”按钮,系统会打开另存为对话框,输入报表方件名(R1)后,单击“确定”保存报表。
由报表向导产生的报表如果不满足要求,可以在报表设计器中作进一步修改。
例题
1.打开报表设计器的命令是____。
A.MODIFYREPORT<报表文件名>
B.OPENREPORT<报表文件名>
C.CREAETEREPORT<报表文件名>
D.DOREPORT<报表文件名>
【解析】此题考查的知识点是打开报表设计器的命令。
在VisualFoxPro中,打开报表设计器的命令是MODIFYREPORT<报表文件名>。
答案B语法错误。
选项C中的命令用来创建报表。
选项D中的命令是执行报表文件
【答案】A
综合练习
1.在VisualFoxPro中,报表由______和______组成。
(C)
A.元组,属性B.表单,对象C.数据源,布局D.数据源,数据表
2.以下选项中,不能作为报表数据源的是______。
(B)
A.数据库表B.表单C.视图D.自由表