版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Page 1,第6章 可视化程序设计基础,6.1 面向对象程序设计基础 6.2 创建表单利用表单向导 6.3 表单设计器 6.4 小结,Page 2,6.1.1 基本概念和术语 6.1.2 面向对象程序设计特点 6.1.3 Visual FoxPro基类简介 6.1.4 对象的引用 6.1.5 对象的属性、方法和事件,6.1 面向对象程序设计基础,Page 3,6.1.1 基本概念和术语,类 对象 属性 方法 事件 事件驱动工作方式,Page 4,6.1.1 基本概念和术语,类(Class) 类是一个抽象的概念,它是对一类具有相同属性和方法的对象的性质描述。 对象(Object) 对象是类的一
2、个实例,每个对象都有自己固有的特征和行为,特征由相应的属性集描述,行为由相应的方法集和事件集组成。,Page 5,6.1.1 基本概念和术语,属性(Attribute) 属性标识了对象的物理性质,决定了对象的特征和状态。 方法(Method) 方法是描述对象行为的过程,是为对象完成特定功能而编写的代码。代码是由系统定义。,Page 6,6.1.1 基本概念和术语,事件(Event) 事件是系统预先定义的动作,而由用户(如鼠标单击、鼠标拖动等)或系统(如计时器)激活。当事件发生时,对象就会执行相应的事件代码,事件代码由用户编写。 事件驱动工作方式 当用户进行一些动作时,系统能自动执行事件代码。,
3、Page 7,6.1.2 面向对象程序设计的特点,封装性(Encapsulation) 将数据(属性)和处理数据方法(行为)的代码组合在一个类的定义中。类中属性和方法的细节对外是不可见的。,Page 8,6.1.2 面向对象程序设计的特点,继承性(Inheritance) 利用现有类通过继承创建新类。新类继承了现有类的属性和方法。一个子类应包含: 1)继承父类的全部属性和方法 2)子类自己定义的属性和方法,Page 9,6.1.2 面向对象程序设计的特点,多态性(Polymorphism) 指不同的对象接收同样的消息时,会导致不同的行为。,Page 10,6.1.3 Visual FoxPro
4、基类简介,VFP基类分为容器类和控件类 容器类对象可以包容其他对象,并且也允许访问所包容的对象,容器类提供了一种将多个对象进行组合的功能。 控件类比容器类封装得更完整,控件类对象只能被包容在容器类对象之中。,Page 11,6.1.3 Visual FoxPro基类简介,容器类介绍 表一,Page 12,6.1.3 Visual FoxPro基类简介,容器类介绍 表二,Page 13,6.1.3 Visual FoxPro基类简介,控件类介绍 表一,Page 14,6.1.3 Visual FoxPro基类简介,控件类介绍 表二,Page 15,6.1.3 Visual FoxPro基类简介,
5、Visual FoxPro类最小属性集,Page 16,6.1.3 Visual FoxPro基类简介,Visual FoxPro基类最小事件集,Page 17,6.1.4 对象的引用,对象是面向对象的程序设计中的最小单元,应用程序由若干个对象组成。用户在编程中使用对象的属性、调用对象的方法或调用对象的事件都需要引用对象。 引用对象就是描述对象的归属层次。对象的层次关系是包容与被包容的关系,只有容器类的对象才可以包容其他对象 。,Page 18,包容关系的示例,6.1.4 对象的引用,Page 19,6.1.4 对象的引用,层次结构,Page 20,6.1.4 对象的引用,引用对象时必须指明该
6、对象在嵌套层次关系中的位置。 对象的引用格式中用“.”分隔对象、属性和方法。,常用的对象引用名,Page 21,6.1.4 对象的引用,对象的引用有相对引用和绝对引用两种 (1)相对引用:从对象的当前层次开始逐级引用。其引用关键字由This开头。 例如,若当前对象是表单(Form1) This.caption 表示引用当前对象(表单)的标题属性。 又如,若当前对象是表格(Grid1) This.Parent.Command1.caption 表示引用与当前对象(表格)同一容器中命令按钮对象的标题属性。,Page 22,6.1.4 对象的引用,(2)绝对引用:从当前表单集或表单对象开始,逐级引用
7、直到引用的对象。其引用关键字由Thisformset或Thisform开头。 例如: ThisFormSet.Form1.Text1.Value 表示从表单集开始,引用文本框的Value属性 ThisForm.Command1.Click 表示从当前表单开始,引用命令按钮的Click事件,Page 23,6.1.5 对象的属性、方法和事件,对象的属性:是对象的数据,用来描述对象的特征和状态。不同类对象具有不同的属性集,并且同类对象中各个对象的属性值又可以各不相同。,Page 24,6.1.5 对象的属性、方法和事件,对象的方法:对象的行为和动作称为方法,一个对象可以具有若干方法,用户虽然不能修
8、改方法中已存在的代码,但用户可以为某个方法添加新的代码,以扩展方法的功能。,Page 25,6.1.5 对象的属性、方法和事件,对象的事件:是预先定义的、由用户或系统触发的、能被对象识别和响应的动作,事件过程是用户为处理特定事件而编写的一段程序代码。,Page 26,6.1.5 对象的属性、方法和事件,常用属性 表一,一、对象的属性,Page 27,6.1.5 对象的属性、方法和事件,常用属性 表二,Page 28,6.1.5 对象的属性、方法和事件,对象属性值的设置 一个对象创建后,其各个属性都有默认的属性值。用户可以通过属性窗口或编程的方式来设置对象的属性值。 设置对象属性值的编程方式:
9、格式一: . = 功能:设置对象的一个属性 例如,把表单的标题设置为“OK” ThisForm.Caption = OK,Page 29,6.1.5 对象的属性、方法和事件,设置对象属性值的编程方式: 格式二: WITH .= .= ENDWITH 功能:连续设置对象的多个属性。 说明: 不能在交互方式下使用该语句; 并不是所有的对象属性都可以用编程方式来改变其属性值,如Name属性。,Page 30,6.1.5 对象的属性、方法和事件,常用方法列表,二、对象的方法,Page 31,6.1.5 对象的属性、方法和事件,调用对象方法的语句格式: .() 例如: ThisForm.Refresh
10、表示刷新当前表单,Page 32,6.1.5 对象的属性、方法和事件,常用事件列表一,三、对象的事件,Page 33,6.1.5 对象的属性、方法和事件,常用事件列表二,Page 34,6.1.5 对象的属性、方法和事件,事件的激发:可以由系统、用户操作或程序代码激发。当事件发生时,相应的事件过程就会被执行。 显式调用对象事件的命令格式: .事件名() 例如,单击表单对象时会执行表单的Click事件过程,也可以使用下述命令显式调用: ThisForm.Click,Page 35,6.1.5 对象的属性、方法和事件,事件驱动工作方式 程序的执行顺序取决于事件发生的前后顺序。因此应在恰当的事件中编
11、写代码。 通常将事件分为五个阶段: 装载阶段(Load事件) 对象生成阶段(Init事件) 交互式操作阶段 对象释放阶段(Destroy事件) 卸裁阶段(UnLoad事件),Page 36,6.1.5 对象的属性、方法和事件,装载阶段(Load) 只有表单或表单集才有Load事件。 表单运行时,首先需要把表单集和表单装入内存,即Load事件。 按照先外后内的顺序触发Load事件:先触发表单集的Load事件,再触发表单的触发Load事件。 注意:触发Load事件时,表单集、表单及所包容的所有对象都尚未被创建。该事件中代码通常是定义全局变量和设置环境。,Page 37,6.1.5 对象的属性、方法
12、和事件,对象生成阶段(Init) 紧跟在Load事件之后,触发各对象的Init事件,即创建对象。 对象的Init事件触发顺序是从内到外:容器对象的Init事件触发之前,先触发其所包容的所有对象的Init事件。 在表单的Init事件中可以处理表单所包容的任一对象。,Page 38,6.1.5 对象的属性、方法和事件,交互式操作阶段 表单及其所包容的对象全部被创建之后,容器对象的Activate事件首先被触发,接着第一个控件获得焦点,之后通过用户的一系列交互操作来触发事件。,Page 39,6.1.5 对象的属性、方法和事件,对象释放阶段(Destroy) 关闭表单时要先通过Destroy事件释放
13、表单及其所包容的所有对象。 与Init事件触发顺序相反,Destroy事件触发的顺序是从外到内:先触发容器对象的Destroy事件,然后才触发其所包容的对象的Destroy事件。,Page 40,6.1.5 对象的属性、方法和事件,卸裁阶段(UnLoad) 只有表单和表单集才有UnLoad事件。 当表单所包容的所有对象、表单及表单集的Destroy事件触发之后,才触发表单、表单集的的UnLoad事件。,Page 41,6.2 创建表单利用表单向导,表单(Form):建立应用程序的最主要工具之一。表单产生标准的应用程序窗口或对话框,可以包含命令按钮、标签、文本框、列表框、复选框等各种控件。 控件
14、是图形化的对象。 用户可以利用表单向导和表单设计器创建表单。,Page 42,6.2 创建表单利用表单向导,打开表单向导有多种方法: (1)使用项目管理器 (2)选择“文件”菜单中的“新建”命令 (3)常用工具栏上的“新建”命令按钮 (4)选择“工具”菜单中的“向导”菜单命令,Page 43,表单向导以一种交互方式引导用户创建表单 表单向导可建立的两类表单: 单库表表单 课本P155 例6.1 创建一个表单,实现对数据表student的维护 双表(一对多)表单 课本P158 例6.2 利用student和grade表设计一个一对多表单的运行结果。,6.2 创建表单利用表单向导,Page 44,
15、6.2 创建表单利用表单向导,在表单向导中建立表单的过程: 步骤1 - 字段选取 步骤2 选择表单样式 步骤3 排序次序 步骤4 完成,Page 45,6.3 表单设计器,表单设计器提供了可视化设计表单的界面,6.3.1 表单设计器操作界面 6.3.2 利用表单设计器设计表单 6.3.3 表单的保存、修改和运行 6.3.4 表单的常用属性、方法和事件 6.3.5 表单的数据环境,Page 46,启动表单设计器 (1)在“项目管理器” 中启动:在“项目管理器”中选择“文档”选项卡,选定“表单”,单击“新建”按钮,在 “新建表单” 对话框中单击“新建表单”按钮。 (2)菜单方式调用:选择“文件”菜
16、单中的“新建” (3)单击常用工具栏上的“新建”按钮 (4)命令方式 CREATE FORM,6.3.1 表单设计器操作界面,Page 47,6.3.1 表单设计器操作界面,表单设计器界面,Page 48,6.3.1 表单设计器操作界面,表单设计器工具栏,Page 49,6.3.1 表单设计器操作界面,表单控件工具栏,Page 50,6.3.1 表单设计器操作界面,表单控件工具栏,Page 51,6.3.1 表单设计器操作界面,表单控件工具栏,Page 52,6.3.1 表单设计器操作界面,表单控件工具栏,Page 53,6.3.1 表单设计器操作界面,表单控件工具栏,Page 54,6.3.
17、1 表单设计器操作界面,调色板工具栏,Page 55,6.3.1 表单设计器操作界面,属性窗口,Page 56,6.3.1 表单设计器操作界面,代码编辑窗口用于编写指定对象的指定事件(或方法)的程序代码。,代码编辑窗口,Page 57,6.3.2 利用表单设计器设计表单,一、表单控件的生成 工具之一:表单生成器。它能方便、快捷地在当前表单中生成字段对象。 调用表单生成器的方法有: 选择“表单”菜单中的“快速表单”命令。 单击“表单设计器”工具栏中的“表单生成器”按钮。 右击表单,在快捷菜单中选择“生成器”。,Page 58,6.3.2 利用表单设计器设计表单,表单生成器操作方法:与表单向导类似
18、,从相关表或视图中选取字段,这些字段将以控件的形式被添加到表单中。 利用生成器只能按默认格式生成字段对象,若不能满足设计要求,用户还需在表单设计器中进一步编辑、修改和设计。,Page 59,6.3.2 利用表单设计器设计表单,二、控件的基本操作 遵循“先选定,后操作”的原则。 1)选定控件 用鼠标单击对象即可选定单个控件。 若要选定相邻的多个控件,利用鼠标拖动把所选定控件包含在虚框中。 若是选定不相邻的控件,可按下,然后单击指定控件。,Page 60,6.3.2 利用表单设计器设计表单,2)移动控件 选定对象之后,通过鼠标拖动对象到指定位置。也可以使用方向键移动控件。 3)复制、删除控件 可利
19、用“剪贴板” 方便地复制控件。 选定要删除的控件,按键或使用“编辑”菜单中的“清除”命令即可删除控件。,Page 61,6.3.2 利用表单设计器设计表单,三、控件的布局调整 方法:利用“格式”菜单或“布局”工具栏。,左对齐,Page 62,6.3.2 利用表单设计器设计表单,四、设置Tab键次序 设计表单时,系统按照各控件设置的前后次序,自动给每一个控件指定获得焦点的次序,这就是Tab键次序,其值也就是对象属性TabIndex的值。 表单运行时,在对象生成阶段系统依照各控件的Tab键次序依次激活各控件的Init事件。 在对象生成阶段之后即交互操作阶段,按下键盘上的Tab键可以使焦点按Tab键
20、次序在各控件间移动。,Page 63,6.3.2 利用表单设计器设计表单,重新设置各控件的Tab键次序方法: 交互式和列表式。 用户可以选择“工具”菜单中“选项”,打开“选项” 对话框的“表单”选项卡,选择一种设置的方法。,Page 64,6.3.2 利用表单设计器设计表单,如果采用的是交互式,那么,选择“显示”菜单中的“Tab键次序”,重新设置表单上的各个控件的“Tab键次序” 的界面如下:,Page 65,6.3.2 利用表单设计器设计表单,如果采用的是列表式,那么,选择“显示”菜单中的“Tab键次序”,重新设置表单上的各个控件的“Tab键次序” 的界面如下:,Page 66,6.3.3
21、表单的保存、修改和运行,保存表单:选择“文件”菜单中的“保存”命令或单击“常用”工具栏中的“保存”按钮,将自动保存成两个文件:扩展名为SCX的表单文件和扩展名为SCT的表单备注文件 表单修改 选择“文件”菜单中的“打开”命令 使用命令方式 Modify Form 使用“项目管理器” 运行表单:选择“表单”菜单中的“执行表单”命令或单击常用工具栏上的“运行”按纽。,Page 67,6.3.4 表单的常用属性、方法和事件,表单的外观属性 表一,Page 68,6.3.4 表单的常用属性、方法和事件,表单的外观属性 表二,Page 69,6.3.4 表单的常用属性、方法和事件,表单的标题栏属性,Pa
22、ge 70,6.3.4 表单的常用属性、方法和事件,表单的其它常用属性,Page 71,6.3.4 表单的常用属性、方法和事件,表单常用方法,Page 72,6.3.4 表单的常用属性、方法和事件,表单常用方法说明: 1)当用代码改变了表单及其所包容的控件的属性后,需要调用Refresh方法把改变后的属性内容显示出来。 2)仅当表单的Closable属性值为.T.时,才可以调用Release方法关闭表单。,Page 73,6.3.4 表单的常用属性、方法和事件,表单常用的事件,Page 74,6.3.4 表单的常用属性、方法和事件,ThisForm.caption=红色 Thisform.Ba
23、ckcolor = RGB(255,0,0) Wait 按任意键将显示表单 Window,例6.4:创建表单实现:运行表单,按任意键显示红色背景的表单;单击表单的“关闭”按钮,表单背景改为绿色;再按任意键关闭表单。,Page 75,再选择“destroy”事件,ThisForm.caption=绿色 ThisForm.BackColor=RGB(0,255,0) Wait 按任意键将关闭表单 Window,6.3.4 表单的常用属性、方法和事件,Page 76,6.3.4 表单的常用属性、方法和事件,Page 77,6.3.4 表单的常用属性、方法和事件,表单运行后返回表单编辑状态,Page 78,6.3.5 表单的数据环境,数据环境简介 要设计与数据表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中生通过地理信息系统分析城市交通拥堵演变驱动机制课题报告教学研究课题报告
- 书法用笔工具材料特性对力传递效率的实验研究课题报告教学研究课题报告
- 诚信投标承诺书15篇
- 《移动通信技术》课件-5.2.2 复用段保护配置
- 2026年河南道路工程监理合同三篇
- 2026届河南省周口市高三下学期第一次大联考化学试题含解析
- 护理研究创新性评估的评估工具评估
- 肾动态显像:开启慢性梗阻性肾病预后评估的新视角
- 肺癌骨转移的多维度解析:基于三例临床案例的深度探究
- 肺癌患者合并静脉血栓栓塞症的多维度危险因素剖析与临床对策探究
- 高中数学必修 选修全部知识点归纳总结(新课标人教A版)
- 人力资源外包投标方案
- 江苏师范大学成人继续教育网络课程《英语》单元测试及参考答案
- 社会工作综合能力(初级)课件
- 国家职业技能鉴定考评员考试题库
- 成人癌性疼痛护理-中华护理学会团体标准2019
- 培训testlab中文手册modal impact1 Test Lab模态锤击法软件布局
- 安徽华塑股份有限公司年产 20 万吨固碱及烧碱深加工项目环境影响报告书
- 糖尿病酮症酸中毒指南精读
- 业财一体化财务对接解决方案
- 《动物病理》课程设计课件
评论
0/150
提交评论