VFP5 可视化编程与表单
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.2面向对象的基本概念
1.对象
(1)对象
对象(Object)是反映客观事物属性及行为特 征的描述。每个对象都具有描述其特征的属性, 及附属于它的行为。对象把事物的属性和行为 封装在一起,是一个动态的概念。对象是面向 对象编程的基本元素,是“类”的具体实例。
(2)对象的三要素 1)属性 属性(Attribute)是用来描述和反映对象特征的参数。 对象的每一种属性,都有与其它对象加以区别的特性, 都具有一定的含义,并赋予一定的值。 对象的属性窗口及常用属性 属性窗口用于显示、修改当前对象的属性,定义事件代 码,修改方法程序。 属性窗口的组成:对象列表框(用于选择对象);选项 卡;属性设置框(用于更改属性);属性列表框;属性 说明信息。 访问格式:[对象引用.]属性
2.设置对象的属性
设置代码的语法如下: 对象的父类名.当前对象名.属性名=属性值 如:FORM1.CAPTION="演示表单" FORM1.NAME="FORM1"
由于每个对象可以有多个属性,进行设置时写出全部 路径非常麻烦,所以Visual FoxPro系统还给我们提供了 另一个设置对象属性值的语句。 其格式为: WITH <对象名> <属性> ENDWITH
“表单”菜单 “表单设计器
”窗口 空白表单 “表单设计器 ” 工具栏
“属性”窗口
“表单控件 ”工具栏
表单设计器窗口
设计“标签”控件表单
1. 标签(label) “标签”控件主要用于在表单上显示文本信息,常用作提示或说明。
标签
标签
常用属性: Caption: 显示文本信息的标题 AutoSize:根据标题文本自动调整标签大小(.F.) WordWrap:能否自动换行(.F.) BackColor:背景色 BackStyle:标签是否透明(0:透明, 1:不透明) BorderStyle:边框样式(0:无, 1:固定单线) Visible: 标签是否显示出来(.T.) Fontsize: 标题文字的字体大小 Forecolor:标题文字的颜色 Aligment: 标题文字对齐方式(0:左, 1:右, 2:居中) Name: 对象名称, 主要用于对象的引用 常用事件: 单击(click) 初始化(init)
常用的表单属性
属 性 Name Caption ControlBox MaxButቤተ መጻሕፍቲ ባይዱon MinButton Movable Closable AutoCenter AlwaysOnTop BorderStyle 说 明 表单的名称 表单的标题 是否在表单的左上角显示控制菜单图标 是否有最大化按钮 是否有最小化按钮 表单能否移动 能否通过“关闭”框关闭表单 表单是否在Visual FoxPro主窗口中居中 表单是否总是显示在其他打开的窗口之上 表单有没有边框,还是单线框、双线框或系统边框。 默认为系统,用户能改变表单大小 指定表单的滚动条类型:0无1水平2垂直3水平与垂直 指定窗口在运行时是最大化、最小化还是普通 指定表单是模式表单(1),还是非模式表单(0) 表单的前景色 表单的背景色 表单的高度 表单的宽度 默认值 Form1 Form1 .T. .T. .T. .T. .T. .F. .F. 3
思考题与实验题
思考题
1.什么是对象、类、属性、事件和方法? 2.常用的基类有哪些? 3.叙述类的继承性和封装性的主要特征。 4.如何设置对象的属性? 5.如何设置类和属性?
实验题
1.用类设计器设计创建新类。 2.用程序创建新类。 3.通过编程设计对象,并执行程序。
6.3
表单设计及运行
本章要点
建立表单 修改表单 运行表单 表单控件 1 无控件表单 2 “标签”控件 3 “计时器”控件 4 “命令按钮”控件 5 “文本框”控件 6 “组合框”控件 7 “单选按钮”控件 8 “微调”控件 9 “复选框”控件 10 “图像”控件 11 “表格”控件 12 “命令按钮组”控件 13 设计多页表单
类具有继承性、封装性和多态性等特性。
方法 父类 属性 子类 继承的方 法与属性 添加的方 法与属性 子类
继承性
对象的操作
类是对象的抽象,对象是类的实例。因此,对象的过程 代码的设计是最重要的操作之一。我们可以利用程序代 码,在类的基础上派生出对象的属性、方法和事件,或 进行重新设计。对象的属性、方法和事件决定了对象的 操作功能,下面将介绍一些有关对象的基本操作的代码。 1.由类创建对象 对象是在类的基础上派生出来的,而只有具体的对象, 才能实现类的事件或方法的操作。 可使用函数:CREATEOBJECT()创建对象。命令格 式如下: 对象名=CREATEOBJECT(类名) 如:FORM1=CREATEOBJECT("FORM") 注意:如是通过自定义类库而不是基类创建对象,则必须 用SET CLASSLIB TO <自定义类库名>打开才能使用。
命令方式:CREATE FORM <表单名> MODIFY FORM <表单名> 对象操作与编码:添加对象、设置属性、编制事件代码和方法程序 代码等; 保存表单:①文件/保存(不关闭设计器) ②Ctrl+W ③窗口关闭按钮 产生两个文件:表单文件( .SCX)和表单备注文件(.SCT) 执行表单: ①程序/运行 ②DO FORM <表单文件名> ③快捷菜单(返回表单设计器) 表单文件和表单备注文件必须同时存在才能正确运行。
5. 数据环境设计器 数据环境:泛指定义表单或表单集时使用的数据源,包括表、 视图和关系。可随表单的打开或运行自动打开,随表单的关闭或释 放自动关闭。
数据环境设计器的作用:用于可视化地创建或修改数据环境。 利用“数据环境”菜单命令,可添加、移去、浏览表和视图,在父 表和子表之间建立关联等。
6. 表单控件工具栏的使用 首尾两排4个按钮是辅助按钮,其余都是控件定义按钮。 (1)创建控件 (2)控件基本操作 选定控件,复制、移动、删除,改变大小、对齐等。 作为控件定位参考,表单上可显示网格线(显示/网格线),网 格线刻度可调整(格式/设置网格刻度),可设置对齐网格线(格 式/对齐格线) (3)辅助按钮的使用 选定对象:可选定表单上控件或表示可创建控件。 查看类:用于切换表单控件工具栏(“常用”/“ActiveX控件”) 或添加控件按钮。 生成器锁定:为添加控件锁定相应的生成器,添加时自动打开。 按钮锁定:用于连续创建若干个相同控件。
类名 ActiveDoc CheckBox 含义 活动文档 复选框 Label Line 类名 标签 线条 含义
Column
ComboBox
表格列
组合框
ListBox
OleControl OleBoundControl OptionButton
列表框
OLE容器控件 OLE绑定控件 选项按钮
CommandButton 命令按钮 CommandGroup 命令按钮组
含义 页框 项目挂钩 分隔符 形状 微调控件 文本框 定时器 工具栏
(1)基类 基类又可以分成容器类和控件类。 容器类可以容纳其它对象,并允许访问所包含的对象。如表单, 自身是一个对象,它又可以把按钮、编辑框、文本框等放在表单中。 控件类不能容纳其它对象,它没有容器类灵活。如文本,自身 是一个对象,在文本中不可放其它对象。由控件类创造的对象,是 不能单独使用和修改的,它只能做为容器类中的一个元素。
第5章
面向对象可视化编程基础
___________表单设计基础
本章要点
面向对象的基本概念 设计类 对象的操作 对象设计实例
5.1 表单设计器
1、什么是表单 表单(Form)在系统中是用户的主要界面,也有人把它称为 屏幕(Screen)或窗口。例如,对话框、向导、各种设计器等在 VFP中都视为表单。
4. 表单设计常用的工具栏 表单控件工具栏:用于在表单上创建控件。 布局工具栏:用于放置控件、调整控件大小、对齐。 调色板工具栏:用于指定控件的前景色和背景色。 表单设计器工具栏:包括设置Tab键次序、数据环境、属性窗口、 代码窗口、上述3个工具栏、表单生成器、自动格式等按钮。 工具栏的显示:通过 “显示”下拉菜单进行选择。 另外,属性窗口、代码窗口也是在表单设计中常用的。
按下并释放某个键时
对象得到焦点时 对象失去焦点时 创建表单或表单集之前 在表单或表单集释放时 创建对象时 从内存中释放对象时
其他
InteractiveChang 通过鼠标或键盘以交互式方式改 变一个控件的值时 Error 某方法运行中发生错误时
(3).对象的引用
在面向对象的程序设计中,要引用其中的某个对象,必须指出对 象在嵌套层次中的位置,如同我们标识一个文件一样。 1. 引用规则(引用关键字开头,逐级引用) 格式:引用关键字.对象名(或对象的属性、事件、方法程序) 2. 设置属性值(编程方式) 属性或关键字 引 用 格式: 对象.属性=值 Parent 当前对象的直接容器对象 例如:ThisForm.Caption=“退出” This 当前对象 例: ThisForm.text1.value=date() ThisForm 当前对象所在的表单 颜色设置 RGB ThisFormSet 当前对象所在的表单集 例: ThisForm.backcolor=rgb(0,255,255)青 3. 方法程序的调用 通常在事件代码中调用。 格式:对象.方法 例:Thisform.release 释放表单
3.调用对象的方法和触发对象的事件
(1)调用对象的方法 调用对象的方法为: 父类名.对象名.方法名 (2)触发对象的事件 事件与方法不同,只有当事件发生后,对应的事件代 码被执行。 可以通过命令按钮触发事件;或使用鼠标产生单击、 双击和移动、拖放等事件;或使用Keyboard命令产生 Keypress事件。
常见事件
分类 事件名称 Click 发生时刻 使用鼠标左键单击对象时
DblClick
鼠标 RightClick MouseDown MouseUp MouseMove
使用鼠标左键双击对象时
使用鼠标右键单击对象时 按下鼠标按钮时 释放鼠标按钮时 移动鼠标时
键盘
控件焦点 表单
KeyPress
GotFocus LostFocus Load Unload Init Destroy
2.表单设计器比表单向导灵活,不但能创建表单,且 能修改表单;操作界面可视化;表单设计面向对象。
1. 表单设计的基本步骤 2. 快速创建表单 3. 表单设计常用的工具栏 4. 数据环境设计器
5. 调整Tab键次序
6. 表单控件工具栏的使用
3. 表单设计的基本步骤 打开表单设计器:文件菜单(打开、新建);
Scrollbars WindowState WindowType ForeColor BackColor Height Width
0 0正常 0 0,0,0 192,192,192 200 400
2)方法 方法(Method)也叫“方法程序”。是指对象完成某种任务 所固有的功能。可由用户在需要时调用。是附属于对象的行为 和动作,是为对象内定的通用过程。 调用格式:[对象引用.]方法 [(参数名表)] 常用的方法有: Cls 清除表单中的图形与文本 Hide 通过修改Visable属性来隐藏表单(集)或工具栏 Refersh 重新绘制表单或控件并刷新所有值 Release 从内存中释放表单或表单集 Show 显示表单并确定表单是模态的还是非模态的 3)事件 事件(Event) 是每个对象可能用以识别和响应的某些行为和 动作。它发生在用户与应用程序交互时。如单击控件、鼠标移 动、键盘按下等。 例如:单击表单时触发了Click事件,屏幕显示提示:你单击了表 单。可以在表单的Click事件中写入代码:MessageBox(“你单击 了表单”).
Container
Control
容器
控件
OptionGroup
Page
选项按钮组
页
类名 Custom EditBox Form FormSet Grid Header Hyperlink Image
含义 定制 编辑框 表单 表单集 表格 列表头 超级链接 图像
类名 PageFrame ProjectHook Separator Shape Spinner TexrBox Timer ToolBor
2.类
所谓类(Class),就是一组相似对象的属性和行为特征 的抽象描述。或者说,类是具有共同属性、共同操 作性质的对象的集合。在Visual FoxPro系统中,类 就像是一个模板,对象都是由类生成的,类定义了 对象所有的属性、事件和方法,从而决定了对象的 属性和它的行为。Visual FoxPro系统为用户提供的 32个基类见下表: