第六章 表单
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6章表单
本章进入应用程序的综合设计阶段
表单是VFP创建应用程序与应用程序界面的重要途径之一,它将可视化操作与面向对象的程序设计思想结合在一起。表单设计器是设计表单的工具,它提供了设计应用程序界面的各种控件,相应的属性,事件。它运用了面向对象的程序设计思想和事件驱动机制。
表单(form):传递(承载)数据信息的载体,是一个窗口界面。注意区别from短语。
6.1 面向对象的概念
面向对象的程序设计思想是将事物的共性,本质内容抽象出来封装成类。VFP又将软件开发常用的功能抽象封装成标准类,开发者用类定义所需对象,通过对对象的属性设置,对事件的编程完成程序设计
如何理解面向对象的思想?
只要知道怎样去用就可以,不必知道具体的实现细节。
6.1.1对象与类
1.对象( object )
世间万物皆对象
对象是客观世界中的一个实体。
对象可以是具体的,也可以是抽象的
对象具有属性和方法,对象的属性描述了对象的状态(静态特征),对象的方法描述了对象的行为。
例:一个学生就是一个对象,描述他的属性有学号,姓名等;他的方法是参加考试。
一个手机就是一个对象,描述它的属性有颜色等;它的方法是能发短信。
注意:同一个方法,由不同的对象去执行,一般会产生不同的结果。
2. 类(class)
具有相同属性和方法的对象称为类
一个学生是一个对象,多个学生就构成了学生类。
把基于某个类生成的对象称为这个类的实例。
对象和类的关系:
对象具有特殊性,类具有一般性. 对象是类的一个具体实例,是客观存在的具体事物,只有通过类才能创建对象。基于同一个类创建的不同对象,可以分别设置自己的属性和方法。
VFP标准类中有表单类,控件类等。具体的一个表单就是表单对象。
6.1.2子类与继承
继承是指基于现有的类创建新类时,新类沿用了现有类的方法和属性。
把现有类称为父类,把新类称为现有类的子类
继承可以使在一个父类所作的改动自动反映到它的所有子类上。
父类有的子类一定都有,子类有的父类不一定有。(青出于蓝胜于蓝)
6.2 Visual FoxPro 基类简介
6.2.1 Visual FoxPro 基类
如何理解基类?
基类就是祖类,注意区别父类,子类。
VF基类是系统本身内含的、并不存放在某个类库中,用户可以基于基类生成所需对象,也可以扩展基类创建自己的类。每个VF基类都有自己的一组属性、方法和事件。
编程中用户创建对象的函数:CEA TEOBJECT ( 类名)
设置对象属性的语法格式:objectName.Property=V alue
调用对象方法的语法格式:objectName.Method
例子:
MyForm=CEATEOBJECT( “Form” ) && 创建表单对象
MyForm.Caption=”我的表单” && 设置表单标题
MyForm.show &&显示表单
说明:show是表单的一个方法,用于显示一个表单。
课本第174页表6.1 Visual FoxPro 基类
重点记住CommandButton 命令按钮
Form 表单
Grid 表格
CheckBox 复选框
Label 标签
OptionButton 选项按钮
OptionGroup 选项按钮组
TextBox 文本框
6.2.2 容器与控件
VF中的类一般分:容器类和控件类
容器对象的类称为容器类,根据容器类可以生成容器对象
控件对象的类称为控件类,依据控件类可以生成控件对象
控件:一个以图形化的方式显示出来并能与用户进行交互的对象。
命令按钮和文本框都是控件
容器:一种能够容纳其他控件或容器的特殊控件。
表单是一个最大的容器,表格也是容器。
在表单中有包含与被包含关系的对象,能包含其他对象的对象成为容器对象在VFP中常用的容器类如表6.3所示。
表6.3 常用的容器类及其可以包含的对象
容器包含的对象
表单集表单,工具栏
表单任意控件,页框,Container对象,命令按钮组,选项按钮组,表格等对象表格列
列除表单集,表单,工具栏,定时器及其他列之外的任意对象
页框页
页任意控件以及Container对象,命令组,选项组,表格等对象
命令按钮组命令按钮
选项按钮组选项按钮
Container对象任意控件及页框,命令组,选项组,表格等对象明确两个概念:
对象的层次:指包容与被包容的关系
类的层次:指继承与被继承的关系
在对像的嵌套层次关系中,要引用其中的某个对象,需要指明对
象在嵌套层次中的位置。
对象的引用规则(相当重要,理解着记住!!!!!!!)
(1)引用形式
对象对属性、事件、方法的引用是用点“ . ”运算符。
形式:对象.属性| 方法| 事件
说明:对象若有包含与被包含关系,可以从外层开始,引用到内层对象。如在后面要介绍的命令按钮Command1,对它的Caption属性的引用可以写成:mand1.Caption=“确定”,这个意思是设置当前表单中的Command1按钮的Caption属性为确定。ThisForm代表当前表单。
(2)对象在引用中常使用的关键字
下面三个关键字只能使用在方法代码或事件代码中
表6.4 对象在引用中常使用的关键字
属性或关键字含义例子
Parent(属性)
This(关键字)当前对象This.Caption ThisForm(关键字) 当前表单ThisForm.Caption
ThisFormSet (关键字)当前表单
集
mand1.Ca
ption
属性:parent 表示当前对象的直接容器对象
假设一个表单里有一个文本框TEXT1和一个命令按钮组COMMANDGROUP1,命令按钮组中包含COMMAND1和