2012年计算机二级VFP表单设计与应用课后习题及答案
第八章 表单设计与应用
大纲要求
使用表单设计器:
(1) 在表单中加入和修改控件对象。
(2) 设定数据环境。
知识要点
1.表单
表单(Form)就是一个输入或显示某种信息的界面(窗口),是Visual FoxPro提供的用于建立应用程序界面的工具之一。被大量应用于人机交互界面的设计当中。应用表单设计功能,可以设计出具有Windows风格的各种程序界面。由于表单使用非常频繁,所以在VFP中,专门提供了一个表单设计器来设计表单程序。 表单是一个容器,除含有窗口的标准控件标题栏、控制按钮外,可以向表单中添加各种对象,如按钮、文本框、表格、图片等。在表单设计器环境下可以进行添加、删除及布局控件的操作。
2. 对象
对象(Object)是反映客观事物属性及行为特征的描述。客观世界里的任何实体都可以被看作是对象。对象可以是具体的物,也可以指某些概念。从编程的角度来看,对象是一种将数据和操作过程结合在一起的数据结构,或者是一种具有属性(数据)和方法(过程和函数)的集合体。事实上程序中的对象就是对客观世界中对象的一种抽象描述。每个对象都具有描述其特征的属性,及附属于它的行为。对象把事物的属性和行为封装在一起,是一个动态的概念。对象是面向对象编程的基本元素,是“类”的具体实例。
(1)对象属性:属性用来表示对象的状态。
(2)对象方法:对象方法是描述对象行为的过程。
对象的属性特征标识了对象的物理性质,对象的行为特征描述了对象可执行的行为动作;对象的每一种属性,都是与其他对象加以区别的特性,都具有一定的含义,并赋予一定的值;对象大多数是可见的,也有一些特殊的对象是不可见的。
3.类
v 类是对一类相似对象的性质描述,这些对象具有相同种类的属性以及方法就好比是一个摸板。
对象是类的一个实例。
v 类的类型
子类和父类
v 类的四大特征
§继承性 —— 说明了子类延用父类特征的能力;
§多态性 —— 指一些关联的类包含同名的方法程序,但方法程序的内容可以不同,具体调用在运行时根据对象的类确定;
§封装性 —— 说明包含和隐藏对象信息,如内部数据结构和代 码的能力;
§抽象性 —— 指提取一个类或对象与众不同的特征,而不对该 类的所有信息进行处理;
4.子类与继承
在面向对象的方法里,继承是指在基于现有的类创建新类时,新类继承了现有类里的方法和属性。此外,可以为新类添加新的方法和属性。我们把新类称为现有类的子类,而把现有类称为新类的父类。
一个子类的成员一般包括:
(1)从其父类继承的属性和方法。
(2)由子类自己定义的属性和方法。
5.基类
Visual FoxPro 基类是系统本身内含的,并不存放在某个类库中。用户可以基于基类生成所需要的对象,也可以扩展基类创建自己的子类。
VFP 基类的种类:
下列表中列出了VFP的基类:
容器类
容器类对象
包容其他类的基类。将容器类的对象无论在设计时还是在运行时,均可以将该容器类的对象作为一个整体进行操作,也可以分别对其包容的对象处理。
控件类
控件类 可以包含在容器类中的基类。控件类不能包含其它对象
类名 o含义 类名 含义
Active Doc 活动文档 LABEL 标签
Checkbox 复选框 LINE 线条
Column (表格)列 LISTBOX 列表框
Combo box 组合框 OLECONTROL OLE 容器控件
Command button 命令按钮 OLEBOUNDCONTROL OLE 绑定控件
Command group 命令按钮组 OPTIONBUTTON 选项按钮
Container 容器 OPTIONGROUP 选项按钮组
Control 控件 PAGEFRAME 页框
Custom 定制 PROJECTHOOK 项目挂钩
Edit box 编辑框 SEPARATOR 分隔符
Form 表单 SHAPE 形状
Form set 表单集 SPINNER 微调控件
Grid 表格 TEXTBOX 文本框
Header 列标头 TIMER 定时器
每个VFP 基类都有自己的一套属性、方法和事件。当扩展某个基类创建用户自定义类时,该类就是用户自定义类的父类,用户自定义类继承该基类中的属性、方法和事件。
表:基类的最小属性集
在程序设计中,可以使用CREATE OBJECT函数来直接生成基于某个类的对象。该函数的格式如下:
CREATE OBJECT(<类名>[,<参数1>,<参数2>,……])
函数基于指定的类生成一个对象,并返回对象的引用。
对象属性访问以及对象方法调用的基本格式如下:
<对象引用>.<对象属性>
<对象引用>.<对象方法>[(参数列表)]
【例】基于Visual FoxPro的FORM类生成一个对象,然后访问该对象的一些属性和方法。
Oform=CREATEOBJECT("Form") &&生成一个空白表单
Oform.show &&显示表单
Oform.caption=”演示” &&修改表单的标题
?”这是一个生成对象的演示程序” &&在表单上输出字符串
Oform.release
例 题
1.在Visual FoxPro中,表单是_______。
A.窗口界面 B.一个表中各个记录的清单
C.数据库中各个表的清单 D.数据库查询的列表
[解析] 本题考查的知识点是表单的基本知识。在Visual FoxPro中表单实际是一个窗口界面。在Visual FoxPro中各种对话框、向导、设计器等窗口统称为表单。选项B说法错误。一个表中的各个记录的清单不能算是表单。选项C错误,数据库中的表就是表,与表单不同。选项D数据库查询的列表也不能算是表单。
[答案] A
2._____是面向对象程序设计中程序运行的最基本实体。
A.类
B.对象
C.方法
D.函数
Class
类名,该类属于何种类型,指当前对象基于那个类而生成。
BaseClass 基类名,该类的基类,指当前类从那个VFP基类派生而来。
ClassLibray 类库名,类库文件,指当前类存放在那个类库中 。
ParentClass 父类名,该类的父类,指当前类从那个类直接派生而来。
[解析] 本题考查的知识点是面向对象程序设计的基本知识。在Visual FoxPro中,面向对象的程序设计以对象及数据结构为中心。因此对象是面向对象程序设计中程序运行的最基本实体。
[答案] B
3 . 对象的______ 是指对象可以执行的动作或它的行为。
A.方法 B.属性 C.事件 D.控件
[解析] 本题考查的知识点是对象的基本知识。在Visual FoxPro 中,每个对象都有自己的属性和方法,也可以对一个被称为事件的动作进行识别和响应。对象的属性一般用各种类型的数据来表示。对象的方法是指对象可以执行的动作或它的行为。掌握这这些知识,便很容易选择选项A 正确。选项D 错误,没有“对象的控件”。
[答案] A
6.容器和控件
Visual FoxPro 中的类一般可分为两种类型:容器类和控件类。相应地,可分别生成容器(对象)和控件(对象)。
控件:
是一个可以以图形化的方式显示出来并能与用户进行交互的对象。控件常被放置在一个容器里。
容器:
容器可以被认为是一种特殊的控件,它能包容其他的控件或容器控件是一个可以以图形化的方式显示出来,并能与用户进行交互的对象,
【例】如果Form1中有一个命令按钮组commandgroup1,该命令按钮组有两个命令按钮:
command1 和command2,label1是表单form1上的一个标签控件。
如果要在命令按钮command1的事件(如单击事件)代码中修改该按钮的标题可用下列命令:
this.caption=”确定”
如果要在命令按钮command1的事件代码中修改命令按钮command2的标题可用下列命令:
thisform.Commandgroup1.command2.caption="取消"
或者
this.parent.command2.caption="取消"
但不能写成下列命令:
thisform.command2. caption="取消"
如果要在命令按钮command1的事件代码中修改表单的标题可用下列命令:
This.Parent.parent.Caption=”测试窗口”
或者
thisform.caption=”测试窗口”
表容器层次中的对象引用属性或关键字
属性或关键字 引用
Parent 当前对象的直接容器对象
This ..ó
当前对象
ThisForm μ 当前对象所在的表单
ThisFormSet μ±当前对象所在的表单集
7.事件
事件是一种由系统预先定义而由用户或系统发出的动作。事件作用于对象,对象识别事件并作出相应反应
与方法集可以无限扩展不同,事件集是固定的,用户不能定义新的事件
1.关于Visual FoxPro基类的最小事件集Init的说明正确的是______
A.当对象产生时引发
B.当对象从内存中释放时引发
C.当方法或事件代码出现运行错误时引发
D.当用户用鼠标单击程序界面上的一个命令按钮时引发
[解析] 本题考查的是关于事件的知识。只要读者能很好地记住基本知识,就能得出正确答案A。
[答案] A
2.Init 事件由______时引发。
A.对象从内存中释放 B.事件代码出现错误
C.方法代码出现错误 D.对象生成
[解析] 本题考查的知识点是Visual FoxPro 中的事件。Init 事件在对象生成时引发。
选项A 错误,因为从内存中释放对象时引发的事件是Destroy。选项B 和C 错误,因为Error 事件是由事件或方法代码出错时引发。
[答案] D
3.在容器对象的嵌套层次中,事件的处理遵循独立性原则,即______。
A.每个对象识别并处理其他的属性
B.每个对象识别并处理属于自己的方法
Init 创建对象时发生的事件。
从内存中释放对象时发生的事件。
鼠标左键单击对象时发生的事件。
Dbclick 鼠标左键双击对象时发生的事件。
Error 当方法或事件代码出现运行错误时引发。
鼠标右键单击对象时发生的事件。
Click
Rightclick
C.每个对象识别并处理属于自己的事件
D.每个对象识别并处理其他的事件
[解析] 本题考查的知识点是事件的基本知识。在容器对象的嵌套层次中,事件的处理遵循独立性原则,意思是指每个对象识别并处理属于自己的事件。
选项A 错误,因为对象并不会处理其他的属性。选项B 错误,因为对象不是处理方法而是事件。选项D 错误,因为事件处理的独立性原则只处理并识别自己的事件,不是其他事件。
[答案] C
4.在Visual FoxPro 中,当对象方法或事件代码在运行过程中产生错误时将引发______事件。
A.Load B.Init
C.Destroy D.Error
[解析] 本题考查的知识点是事件的应用。在visual FoxPro 中,当对象方法或事件代码在运行过程中产生错误时将引发Error 事件。
选项A 在表单对象建立之前引发,即运行表单时,先引发表单的Load 事件,再引发表单的Init 事件。选项B 在对象建立时引发。选项C 在对象释放时引发。选项D 当对象方法或事件代码在运行过程中产生错误时引发。
[答案] D
相关推荐:
2012年计算机二级VFP全真模拟试题及答案解析汇总
2012年计算机二级VFP习题及答案汇总
2012年计算机二级VFP课后练习题及答案汇总
5.C1ick事件在______时引发。
A.用鼠标单击对象 B.用鼠标双击对象
C.表单对象建立之前 D.用鼠标右键单击对象
[解析] 本题考查的知识点是事件的应用。在Visual FoxPro中,当用鼠标单击对象时引发C1ick事件。选项B用鼠标双击对象时引发DblClick事件。选项C表单对象建立之前引发Unload。选项D用鼠标右键单击对象时引发RightClick。
[答案] A
6.为表单Myform 添加事件或方法代码,改变该表单中的控件Cmd1 的Caption 属
性的正确命令是______。
A.THISFORMSET.Cmd1.Caption=“最后一个”
B.Myform.Cmd1=“最后一个”
C.THISFORM.Cmd1.Caption=“最后一个”
D.THIS.Cmd1.Caption=“最后一个”
[解析] 本题考查的知识点是指定方法和事件程序的操作。在类定义中编写方法和事件程序代码时,不能直接引用表单或控件的名称,因为Visual FoxPro 在根据类定义创建对象时,有它内部的表达式方式,不一定就是用户定义的名称。因此在编写程序代码时要注意用THIS.(引用该对象),THISFORM.(引用包含该对象的表单),THIS.PARENT(引用该对象的直接容器),THISFORMSET.(引用包含该对象的表单集)这些关键字进行相对引用,它们利用快捷方式指明所要处理的对象。选项A 引用对象的表单集,不符合题目要求,因此错误。选项B 格式错误。选项C 正确。选项D由于引用的是对象,因此错误。
[答案] C
8.建立表单
表单(Form)是Visual FoxPro 提供的用于建立应用程序界面的最主要的工具之一。表单相当于WINDOWS 应用程序的窗口。
表单可以属于某个项目,也可以游离于任何项目之外,它是一个特殊的磁盘文件,其扩展名为.scx。在项目管理器中创建的表单自动隶属于该项目。创建表单一般有两种途径:
1、使用表单向导创建简易的数据表单;
2、使用表单设计器创建或修改任何形式的表单。
(1)使用表单向导
启动表单向导有以下四种途径:
1)打开“项目管理器”,选择“文档”选项卡,从中选择“表单”。然后单击“新建”按钮。在弹出的“新建表单”对话框中单击“表单向导”按钮。
2)在系统菜单中选择【文件】|【新建】命令,或者单击工具栏上的“新建”按钮,打开“新建”对话框,在文件类型栏中选择“表单”。然后单击“向导”按钮。
3)在系统菜单中选择【工具】|【向导】|【表单】命令。
4)直接单击常用工具栏上的“表单向导”图标按钮。按步骤依照“表单向导”完成单表表单或一对多表表单的设计
(2)使用表单设计器
启动表单设计器有多种方法:
● 菜单方法:若是新建表单,在系统 菜单中选择【文件】|【新建】,在文件类型对话框中选择“表单”,单击“新建文件”按钮;若是修改表单,则单击【文件】|【打开】,在打开对话框中选择要修改的表单文件名,单击“打开”按钮。
● 命令方法:在COMMAND 窗口输入如下命令:
CREATE FORM <文件名> &&创建新的表单
或
MODIFY FORM <文件名> &&打开一个已有的表单
● 在项目管理器中,先选择文档标签,然后选择表单,单击新建按钮。若是修改
表单,选择要修改的表单,单击“修改”按钮。
3)设计器窗口
“表单设计器”窗口内包含正在设计的表单。用户可在表单窗口中可视化地添加和修改控件、改变控件布局,表单窗口只能在“表单设计器”窗口内移动。以新建方式启动表单设计器时,系统将默认为用户创建一个空白表单,如图。
1.打开表单设计器窗口的命令是______。
A.CREAT FORM B.CREAT OBJECT
C.OPEN FORM D.OPEN OBJECT
[解析] 本题考查的知识点是打开表单设计器的命令的应用。在visual FoxPro中,打开表单设计器窗口的命令是CREAT FORM。选项B是打开表设计器的命令。选项C和D语法错误。
[答案] A
2.下列在表单设计器中调用表单生成器的方法不正确的是______。
A.单击“表单”菜单中的”快速表单”命令
B.单击表单设计器工具栏上的“表单生成器”按钮
C.在表单设计器窗口上单击鼠标右键,在弹出的快捷菜单中选择“生成器”命令
D.单击“表单”菜单中的“表单生成器”命令
[解析]本题考查的知识点是打开表单生成器的方法。在Visual FoxPro 中,可以通过多种方法打开表单生成器:①单击“表单”菜单中的“快速表单”命令。②单击表单设计器工具栏上的“表单生成器”按钮。③在表单设计器窗口上单击鼠标右键,在弹出的快捷菜单中选择“生成器”命令。选项A,B,C 操作方法都正确,只有选项D 错误,因为“表单”菜单中没有“表单生成器”命令。
[答案] D
3.用DO FROM命令运行表单时,如果不加______子句,将会出错。
A.WITH B.WHERE
C.FORM D.WAIT
[解析] 本题考查的知识点是DO FORM命令子句的应用。在Visual FoxPro中,新添加属性newp的初使值为.F.,如果不先给它赋一个数值型数据,将无法进行加减运算。所以在用DO FORM命令运行该表单时,如果不加WITH子句将会出错。
[答案] A
4.表单设计器启动后,Visual FoxPro 主窗口上将出现______。
A.表单设计器和属性窗口
B.表单控件和表单设计工具栏
C. “表单”菜单
D.以上答案均正确
[解析] 本题考查的知识点是启动表单设计器后窗口中同时出现哪些对象。在Visual FoxPro 中,打开表单设计器后,窗口中将同时出现表单设计器和属性窗口、表单控件和表单设计器工具栏、“表单”菜单,因此正确答案为D。
[答案] D
5.下面关于表单窗口的说法不正确的一项是______。
A.表单窗口包含在表单设计器窗口中
B.表单窗口可以在主窗口内任意移动
C.可以在表单窗口中可视化地添加和修改控件
D.表单窗口只能在表单设计器窗口中移动
[解析] 本题考查的知识点是表单窗口的基本知识。在Visual FoxPro 中,表单窗口是包含在表单设计器窗口中的窗口,它只能在表单设计器窗口中移动。在表单窗口中可以添加和修改控件。选项C,D 都正确,只有选项B 错误,因为表单窗口只能在表单设计器窗口中移动,不可以在主窗口中移动。
[答案] B
4)属性窗口
表单属性是描述表单特征的参数。程序中的表单作为由它的父类派生的对象,继承了父类的所有属性及其值。用户可以在设计阶段通过属性窗口修改,也可以在程序中通过程序代码修改表单属性的值。
设计表单的绝大多数工作都是在属性窗口中完成的,因此用户必须熟悉属性窗口的用法。
如果在表单设计器中没有出现属性窗口,可在系统菜单中单击【显示】|【属性】,属性窗口如图所示。
页框选项卡
右击表单页面,选“属性”选项,系统即弹出表单属性窗口,其窗口分以下五部分:
1.对象列表:该下拉列表中以树形结构分层列出了当前表单及其所包含的对象的名称,单击下拉按钮,可以从中选择表单中的对象。
2.属性分类选项页:这部分有5个小项目,分别如下:
①全部——按字母排序的对象的所有属性。
②数据——与对象数据有关的属性。
③方法程序——对象的事件触发程序和方法程序
④布局——控制对象外观的属性,如颜色等。
⑤其他——不属以上②、 ③、 ④各项的属性。
3.属性列表:列出当前选项页的所有属性名及其取值。单击属性列表中的某一项目,则选中该属性,称为当前属性。
4.属性值输入框:用来输入或选择当前属性的值。
5.属性说明:对当前属性的文字解释
可见,在表单设计器中设置属性值时,需要先在属性窗口的对象列表框中选择要修改的对象,再选择属性分类选项页,找到属性,最后在输入框输入新值。(有时,属性值可以从属性列表选择或通过对话框选择)
表单的常用属性
±í 表单背景色
BackColor RGB 三色值
为真时,表单居中打开 AutoCenter .T. .F.
字串表单标题/窗口标题Caption
±íμ¥表单名,用于程序代码 Name 字串
取值 作用
属性设置
控件属性的设置方法与表单属性相同,可以采用两种方法:一是在属性窗口设置——先从对象列表中选择对象,再在下面的属性列表中选择要设置的属性,在窗口中间的属性值输入框中输入(或从下拉列表、