《Visual FoxPro 数据库应用教程》教学课件:第7章Visual FoxPro 面向对象的程序设计与表单设计_第1页
《Visual FoxPro 数据库应用教程》教学课件:第7章Visual FoxPro 面向对象的程序设计与表单设计_第2页
《Visual FoxPro 数据库应用教程》教学课件:第7章Visual FoxPro 面向对象的程序设计与表单设计_第3页
《Visual FoxPro 数据库应用教程》教学课件:第7章Visual FoxPro 面向对象的程序设计与表单设计_第4页
《Visual FoxPro 数据库应用教程》教学课件:第7章Visual FoxPro 面向对象的程序设计与表单设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章 Visual FoxPro 面向对象的程序设计与表单设计,VFP不仅支持面向过程的编程技术,而且支持面向对象的编程技术,并在设计语言方面做了很多扩充。面向对象编程不需要考虑程序代码的全部流程,只需要考虑如何创建对象及创建什么样的对象。,目 录,7.1 面向对象程序设计基础 7.2 表单的基本操作 7.3 表单设计器 7.4 常用表单控件 本章要点,7.1 面向对象程序设计基础,1对象 客观世界的任何实体都可以被看成是对象,对象是反映客观事物属性及其行为特征的描述; 2对象的属性 对象的属性特征标识了对象的物理性质,对象的行为特征描述了对象可执行的行为动作;对象的每一种属性,都是与其他对

2、象加以区别的特性,都具有一定的含义,并赋予一定的值。,7.1.2 类,所谓类,就是对一组对象的属性和行为特征的抽象描述。 对象和类的概念是很相近的,但是它们又是不同的。类是对象的抽象描述;对象是类的实例。类是抽象的,对象是具体的。 类是对象的定义。类规定并提供了对象具有的属性,事件和方法程序。 对象通过类来产生。 对象是类的实例。通常,我们把基于某个类生成的对象称为这个类的实例。可以说,任何一个对象都是某个类的一个实例。,1基类及子类 在VFP环境下,要进行面向对象的程序设计或创建应用程序,必然要用到VFP系统提供的基础类,即VFP基类。基类是VFP为用户预先定义的类。表7.1是Visual

3、FoxPro基类的清单。 以某个类为起点创建的新类称为子类,前者称为父类,例如用基类来创建新类时,基类是父类,新类是子类。,2. 类的特性 类具有继承性、封装性和多态性等特性。 (1) 继承性(Inheritance) 继承性是指通过继承关系利用已有的类构造新类。 继承表达了一种从一般到特殊的进化过程。在面向对象的方法里,继承是指在基于父类(现有的类)创建子类(新类)时,子类继承了父类里的方法和属性。当然可以为子类添加新的方法和属性。,(2) 封装性(Encapsulation) 封装是包含并且隐藏对象信息,如内部数据结构,对象的方法程序和属性代码。,3容器类和控件类 Visual FoxPr

4、o中的类一般可分为两种类型:容器类(container classes)和控件类(control classes)。相应地,容器类和控件类可分别生成容器(对象)和控件(对象)。 容器类可以容纳其他对象,并允许访问所包含的对象。容器自身是一个对象,可以把按钮、编辑框、文本框等包含在其中。,7.1.3 事件和方法程序,事件(Event)是一种由系统预先定义而由用户或系统发出的动作。 事件可由用户引发,比如用户用鼠标单击程序界面上的一个命令按钮就引发了一个Click事件。事件也可以由系统引发,比如生成对象时,系统就引发一个Init事件。 在Visual FoxPro系统中,对象可以响应50多种事件。

5、当事件发生时,将执行包含在事件过程中的全部代码。 方法(Method)则是附属于对象的行为和动作,方法也称方法程序。方法程序过程代码由VFP定义,对用户是不可见的。,7.1.4 Visual FoxPro类的创建,1用菜单方式创建类 2用命令方式创建类 命令格式:Create Class 或: Create Class Of 3通过编程创建类 Define Class AS ,7.1.5 对象的建立和使用,1由类创建对象 =Createobject() 2对象的引用 指明某个对象的属性、事件或方法的归属层次的描述就是对象的引用。 Parent This ThisForm (1) 绝对引用 (2

6、) 相对引用,3对象属性的设置 对象名.属性=属性值 例如: THIS.FontBold.T. THIS.Parent.Caption=date() 当一个对象的多个属性要设置时,常常用以下格式: With Endwith,4调用对象的方法 调用对象方法的格式为: 对象.方法名(参数表) 例如: FORM1.show(1) & 显示表单FORM1 FORM1.cls & 表单FORM1清屏 5执行对象的事件 对象.事件名(参数表) 例如: FORM1.activate & COMM1的激活事件 comm1.Click & COMM1的单击事件 6用编程方式设计对象,7.2 表单的基本操作,表单

7、(Form)是Visua FoxPro提供的用于建立应用程序界面的最主要的工具之一 。 7.2.1 创建表单 1使用表单向导创建表单 【文件】【新建】 “工具”菜单的“向导”子菜单中选择“表单” 在项目管理器调用表单向导,7.2.2 使用表单设计器,可以使用下面三种方法中的任何一种调用表单设计器: (1) 在项目管理器环境下调用: (2) 菜单方式调用: (3) 命令方式调用: 在命令窗口输入命令:CREATE FORM 表单名 在表单设计器环境下,也可以调用表单生成器方便、快速地产生表单。调用表单生成器的方法有以下三种: 选择“表单”菜单中的“快速表单”命令。 单击“表单设计器”工具栏中的“

8、表单生成器”按钮。 右键单击表单窗口,然后在弹出的快捷菜单中选择“生成器”命令。,7.2.3 修改表单,表单可以使用表单设计器进行编辑修改。打开表单设计器可以使用如下方法: 单击“文件”菜单中的“打开”命令,然后在“打开”对话框中选择需要修改的表单文件。 在“项目管理器”窗口中选择“文档”选项卡,选择其中需要修改的表单,然后单击“修改”按钮。 在命令窗口输入命令: MODIFY FORM ,7.2.4 运行表单,在项目管理器窗口中,选择要运行的表单,然后单击窗口里的“运行”按钮。 在表单设计器环境下,选择“表单”菜单或快捷菜单中的“执行表单”命令,或单击标准工具栏上的“运行”按钮。 选择“程序

9、”菜单中的“运行”命令,打开“运行”对话框,然后在对话框中指定要运行的表单文件并单击“运行”按钮。 在命令窗口输入命令: DO FORM WITH , NOSHOW,表单从运行到结束一般常常发生的事件和方法有: (1) Click事件 (2) DblClick事件 用鼠标双击对象时引发。 (3) Rightclick事件 用鼠标右键单击对象时引发。 (4) Load事件 在表单对象建立之前引发。 (5) Init事件 在对象建立时引发。 (6) activate事件 激活表单。,(7) Destroy事件 在对象释放时引发。 (8) Unload事件 在表单对象从内存释放时引发,是表单对象释放

10、时最后一个引发的事件。 (9) Release方法 将表单从内存中释放(清除)。 (10) Refresh方法 重新绘制表单或控件,并刷新它的所有值。当表单被刷新时,表单上的所有控件也都被刷新。 (11) Show方法 显示表单。该方法将表单的Visible属性设置为.T.,并使表单成为活动对象。 (12) Hide方法 隐藏表单。该方法将表单的Visible属性设置为.F.。,7.3 表单设计器,7.3.1 表单设计器环境 1表单设计器窗口 2属性窗口 3表单控件工具栏 4表单设计器工具栏,7.3.2 控件的操作与布局,1控件的基本操作 选定控件 移动控件 调整控件大小 复制控件 删除控件

11、2控件布局 3设置Tab键次序 选择“工具”菜单中的“选项”命令,打开“选项”对话框。 选择“表单”选项卡。 在“Tab键次序”下拉列表框中选择“交互”或“按列表”,7.3.3 数据环境,数据环境中能够包含与表单有联系的表和视图以及表之间的关系。数据环境中的表或视图会随着表单的打开或运行而打开,并随着表单的关闭或释放而关闭。 1数据环境的常用属性 AutoOpenTables和AutoCloseTables 2打开数据环境设计器 3向数据环境添加表或视图 4从数据环境移去表或视图 5在数据环境中设置关系 6向表单添加字段,7.4 常用表单控件,7.4.1 标签(Label)控件 1Captio

12、n属性 指定标签的标题文本。很多控件类都具有Caption属性,如表单、复选框、选项按钮、命令按钮等 在设计代码时,应该用Name属性值(对象名称)而不能用Caption属性值来引用对象。 ThisForm.MyLabel.Caption=“选择项目(X)” 2Alignment属性 指定标题文本在控件中显示的对齐方式。,7.4.2 命令按钮控件,命令按钮可以用来启动某个事件代码及完成特定功能,如关闭表单移动记录指针打印报表等。一般要为命令按钮设置CLICK事件的方法程序。,7.4.3 命令组控件,命令组是包含一组命令按钮的容器控件,用户可以单个或作为一组来操作其中的按钮。,7.4.4 文本框

13、控件,Name 文本框名称。 ControlSource 为文本框指定一个字段或内存变量。 Readonly 属性值默认为.F.,表示可以编辑。.T.表示不可以编辑。 Value 返回文本框的当前内容;默认值是空串。 PasswordChar 指定文本框内是显示用户输入的字符还是显示占位符; Inputmask 指定在一个文本框中如何输入和显示数据。,7.4.5 编辑框(EditBox)控件,与文本框一样,编辑框的主要功能也是显示文本。但它有自己的特点: 编辑框实际上是一个完整的字处理器。 编辑框只能输入、编辑字符型数据,包括字符型内存变量、数组元素、字段以及备注字段里的内容。,7.4.6 选

14、项组控件,7.4.7 复选框控件,7.4.8 列表框控件,RowSourceType 指明列表框中条目数据源的类型。 RowSource 指定列表框的条目数据源。 ControlSource 指定一个字段或变量用以保存选择结果。,7.4.9 组合框控件,组合框有两种形式:下拉组合框和下拉列表框。通过设置Style属性可选择想要的形式:Style属性值为0时设置为下拉组合框,Style属性值为2时设置为下拉列表框。,7.4.10 薇调框控件,7.4.11 表格控件,使用生成器生成表格的步骤是: 先通过“表单控件”工具栏在表单上放置一个表格,接着用鼠标右键单击表格并在弹出的快捷菜单中选择“生成器”命令,打开“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论