资源描述
<包括资料第7章知识>
9 面向对象的程序设计
一、面向对象的程序设计OOP(Object Oriented Programming)
对象:一种将数据和操作过程结合在一起的数据结构,是现实世界中待处理的客观实体的抽象表达。例:表单(FORM),文本框(TEXT BOX)等
二、对象(object)和类(class)的含义
对象::是反映客观事物属性及行为特征的描述。
类:是具有共同属性、共同操作性质的对象的集合。
类是对象的抽象描述,对象是类的实例。类是抽象的,对象是具体的。通过类可以产生对象。
三、类的特性:继承性、封装性、多态性
四、类的分类:基类(29个)、子类、用户自定义类 (类库)
其中VFP中基类又分为:容器类和控件类
五、对象的基本要素:属性、事件、方法 (消息)
1、属性(PRORERTY):是一组用于描述对象的物理特征的值。如:对象的标题(CAPTION),名字(NAME),可见性(VISIBLE),能用性(ENABLED)等
A、常用属性
属性
说明
属性
说明
Caption
指定对象的标题
Visible
指定对象是可见还是隐藏
Name
指定对象的名字
Enabled
指定对象能否使用
Value
指定对象当前的取值
Left
对象左边相对于父对象的的位置
Passwordchar
指定用作占位的字符(通常用于文本框设置密码显示形式)
TOP
对象上边相对于父对象的位置
ButtonCount
指定命令按钮组(COMMAND GROUP)或选项按钮组(OPTION BUTTON GROUP)中的按钮数目
FONTNAME
指定对象文本的字体名
B、属性的修改:属性工具中修改,也可以在事件代码中修改。
事件代码中修改的方法:
(1)绝对引用:指出所在容器类的名字
格式: 容器.对象.属性=值
例如:Mmand1.caption=’显示’
(2)相对引用:
格式: 相对引用.对象.属性=值 相对引用.对象.方法=值
参照关键字
参照对象
THIS
该对象
THISFORM
包含该对象的表单
THISFOMSET
包含该对象的表单集
Parent
包含该对象的父对象
例2:表单上有两个command按钮:command1和command2
command1中的click事件代码: mand2.caption=”退出”
2、事件:对象可以识别和响应的行为和动作。事件是预先定义的动作,由用户或系统激活。当事件发生时,与之相对应的方法程序代码将被执行。
3、调用对象的方法: 对象名.方法
thisform . release
thisfrom . text1. setfocus
9 表单设计
9.1表单的基本建立方法。
方法一:文件菜单:新建->表单。 (注意:默认目录)
方法二:create form 表单名 (注意:默认的扩展名是scx)
方法三:项目中新建表单
方法四:表单向导建表单
2、基本界面和工具栏
(1) 表单文件名。表单的标题(caption)。修改表单文件名。
(2) 表单设计器工具栏。
(3) 使用表单控件工具栏。了解基本控件。
(4) 熟悉属性工具栏和基本操作方法。
运行表单:
表单à执行表单 或者 工具栏上的“运行”按钮
或者 程序à运行,选择表单文件
或者 DO FORM 表单文件名
操作实例:Hello world
综上所述, 要修改表单的属性,方法有两种:
方法1、在编辑表单时,选择中相应的控件,
直接修改属性工具栏中的属性。运行表单时立即生效。
方法2、利用事件代码修改:引用.对象名.属性=值 或 引用.容器对象名.对象名.属性=值
当事件发生的时候才执行,这时表单的属性被修改。
9.2表单常用控件
一、 表单如果涉及表的操作需要首先使用数据环境,然后添加表
注意:密切关注“表单设计器”工具栏!
二、常用表单及属性、事件和方法
(红色代表必须背下来,蓝色代表必须熟悉)
涉及字型的属性:FontSize、FontName、ForeColor、FontBold、FontItalic等。
涉及控件大小调整:位置及大小:top、left、height、width
涉及控件获得焦点事件方法:GotFocus 失去焦点:LostFocus
涉及控件操作某个表的字段:设置数据环境后设置属性ControlSource
当然组合框和列表框不一样:需要设置的是RowSource和RowSourceType
注意:事件和所对应的方程程序的编写使用是在代码窗口中选择过程。
三、表单控件.
重点控件:表单、标签、文本框、命令按钮、选项按钮组、复选框、列表框。
编辑框、组合框、表格、命令按钮组。
一般控件:微调按钮、计时器、图像、页框和表单集。
重要提示:每个控件都配有实例,请大家到本文相关目录去调用查看。每个实例(目录)都已经写好了操作步骤(制作要领)供大家学习。
l 表单(容器):
主要属性:caption (引用的时候为: thisform.caption=”…”) autocenter
主要事件和方法:初始化:Init 释放(退出):Release 刷新:Refresh
l 标签:对象名 Label1 、Label2、Label3 …
主要属性:标题Caption、可见Visible 等, autosize,FontSize、FontName、ForeColor、FontBold、FontItalic
eg: hello
l 文本框:对象名Text1、Text2、Text3 …
主要属性:内容Value(引用的时候为: thisform.text1.value=”…”)、数据源controlsource只读Readonly、是否为密码passwordchar等
说明:value属性默认为字符型
eg1 :输入密码
eg2:有数据源的文本框
文本框学习可参考文本框结合表学生实例
l 编辑框:对象名Edit1、Edit2、Edit3 …
主要属性:内容Value、数据源controlsource、只读Readonly等
说明:值为字符型
l 命令按钮:对象名Command1、Command2、Command3 …
主要属性:标题Caption、可用Enabled等
主要事件和方法: Click
主要函数:MessageBox ( )
l 选项按钮组(容器):对象名Optiongroup1、Optiongroup2、Optiongroup3 …
主要属性:选项个数:ButtonCount、value(0为不选,1为选中Option1,2为选中Option2。。。。)、数据源controlsource。
每个选项对象名:Option1、option2、Option3 …
每个选项主要属性:标题Caption 、值Value (0为不选,1为选中)
l 复选框:对象名Check1、Check2、Check3 …
主要属性:标题Caption 、值Value (0为不选,1为选中,2为只读)
说明:只读属性也可为Readonly
*** 以上全部控件学习请参考Hello Word和基本控件实例 ***
l 列表框:对象名为List1、List2、List3 …
主要属性:RowSource(数据值的源,主要是表或表中字字段)
RowSourceType(类型:一般选别名或者是字段)
Value(选中的值)
主要事件:InteractiveChange 当用户使用鼠标或键盘更改控件的值发生
主要函数:增加数据Additem 删除数据RemoveItem
l 组合框:对象名Combo1、Comble2、Comble3 …
主要属性:RowSource(数据值的源,主要是表)和RowSourceType(类型:一般选别名)
Value(选中的值)
主要事件:InteractiveChange 当用户使用鼠标或键盘更改控件的值发生
主要函数:增加数据Additem 删除数据RemoveItem
以上学习请参考列表框和组合框实例
l 表格(容器):对象名Grid1、Grid2、Grid3 …
基本属性:列数ColumnCount 只读Readonly
列:每一列Column 列头Header 列数据 Text
可用生成器生成表格
以上学习请参考表格实例:涉及一张表和涉及多张表
l 页框:(容器)对象名:Pageframe1
基本属性:页面数 Pagecount 页标题 Caption
每页对象名:Page1、Page2 …
以上学习请参考页框实例
l 命令按钮组(容器) ButtomCount(容器)
基本属性:按钮个数ButtomCount
每个按钮名字分别为: command1, command2 …
每个按钮主要属性: Caption 和 enabled (.t.或者.f.)
以上学习请参考命令按钮组实例
补充函数:
附:messagebox( ) 函数 示例
MESSAGEBOX(“信息字串”[,数值型对话框类型 [,”对话框标题文本”]])
数值1+数值2+数值3
数值1 对话框按钮
0 仅有“确定”按钮
1 “确定”和“取消”按钮
2 “放弃”、“重试”和“忽略”按钮
3 “是”、“否”和“取消”按钮
4 “是”、“否”按钮
5 “重试”和“取消”按钮
数值2 图标
16 “停止”图标
32 问号
48 惊叹号
64 信息 (i) 图标
数值3 默认按钮
0 第一个按钮
256 第二个按钮
512 第三个按钮
下表列出了 MESSAGEBOX( ) 对应每个按钮的返回值:对话框按钮
返回值 按钮
1 确定
2 取消
3 放弃
4 重试
5 忽略
6 是
7 否
例如:
a=messagebox("你确定要退出系统吗?",4+16+0,"询问框")
if a=6
release thisform
endif
a=6就说明选的是4
9.2 自定义类(自行看书,略————P172-P175)
1.使用类设计器创建类(了解)
2.类库管理(了解)
3.在创建表单时使用自定义类(了解)
注:可视类库文件扩展名:.vcx
创建新类,可以基于任何VFP的基类和子类
创建新类时,可以对这个新类添加新的属性和方法
展开阅读全文