《可视化程序设计基础.ppt》由会员分享,可在线阅读,更多相关《可视化程序设计基础.ppt(75页珍藏版)》请在三一办公上搜索。
1、Page 1,第6章 可视化程序设计基础,6.1 面向对象程序设计基础6.2 创建表单利用表单向导 6.3 表单设计器 6.4 小结,Page 2,基本概念和术语 面向对象程序设计特点 Visual FoxPro基类简介 对象的引用 对象的的属性、方法和事件,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)事件是系统预先定义的动作,而由用户(如鼠标单击、鼠标拖动等)或系统(如计时器)激活。当事件发生时,对象就会执行相应的事件代码,事件代码由用户编写。事件驱动工作方式 当用户进行一些动作时,系统能自动执行事件代码。,Page 7,6.1.2 面向对象程序设计的特点,封装性(Encapsula
3、tion)将数据(属性)和处理数据方法(行为)的代码组合在一个类的定义中。类中属性和方法的细节对外是不可见的。继承性(Inheritance)利用现有类通过继承创建新类。新类继承了现有类的属性和方法。一个子类应包含:1)继承父类的全部属性和方法 2)子类自己定义的属性和方法多态性(Polymorphism)指不同的对象接收同样的消息时,会导致不同的行为。,Page 8,6.1.3 Visual FoxPro基类简介,VFP基类分为容器类和控件类 容器类对象可以包容其他对象,并且也允许访问所包容的对象,容器类提供了一种将多个对象进行组合的功能。控件类比容器类封装得更完整,控件类对象只能被包容在容
4、器类对象之中。,Page 9,6.1.3 Visual FoxPro基类简介,容器类介绍 表一,Page 10,6.1.3 Visual FoxPro基类简介,容器类介绍 表二,Page 11,6.1.3 Visual FoxPro基类简介,控件类介绍表一,Page 12,6.1.3 Visual FoxPro基类简介,控件类介绍表二,Page 13,6.1.3 Visual FoxPro基类简介,Visual FoxPro类最小属性集,Page 14,6.1.3 Visual FoxPro基类简介,Visual FoxPro基类最小事件集,Page 15,6.1.4 对象的引用,对象是面向对
5、象的程序设计中的最小单元,应用程序由若干个对象组成。用户在编程中使用对象的属性、调用对象的方法或调用对象的事件都需要引用对象。引用对象就是描述对象的归属层次。对象的层次关系是包容与被包容的关系,只有容器类的对象才可以包容其他对象。,Page 16,包容关系的示例,6.1.4 对象的引用,Page 17,6.1.4 对象的引用,层次结构,Page 18,6.1.4 对象的引用,引用对象时必须指明该对象在嵌套层次关系中的位置。对象的引用格式中用“.”分隔对象、属性和方法。,常用的对象引用名,Page 19,6.1.4 对象的引用,对象的引用有相对引用和绝对引用两种(1)相对引用:从对象的当前层次开
6、始逐级引用。其引用关键字由This开头。例如,若当前对象是表单(Form1)This.caption 表示引用当前对象(表单)的标题属性。又如,若当前对象是表格(Grid1)表示引用与当前对象(表格)同一容器中命令按钮对象的标题属性。,Page 20,6.1.4 对象的引用,(2)绝对引用:从当前表单集或表单对象开始,逐级引用直到引用的对象。其引用关键字由Thisformset或Thisform开头。例如:表示从表单集开始,引用文本框的Value属性 表示从当前表单开始,引用命令按钮的Click事件,Page 21,6.1.5 对象的属性、方法和事件,对象的属性:是对象的数据,用来描述对象的特
7、征和状态。不同类对象具有不同的属性集,并且同类对象中各个对象的属性值又可以各不相同。对象的方法:对象的行为和动作称为方法,一个对象可以具有若干方法,用户虽然不能修改方法中已存在的代码,但用户可以为某个方法添加新的代码,以扩展方法的功能。对象的事件:是预先定义的、由用户或系统触发的、能被对象识别和响应的动作,事件过程是用户为处理特定事件而编写的一段程序代码。,Page 22,6.1.5 对象的属性、方法和事件,常用属性 表一,一、对象的属性,Page 23,6.1.5 对象的属性、方法和事件,常用属性 表二,Page 24,6.1.5 对象的属性、方法和事件,对象属性值的设置一个对象创建后,其各
8、个属性都有默认的属性值。用户可以通过属性窗口或编程的方式来设置对象的属性值。设置对象属性值的编程方式:格式一:.=功能:设置对象的一个属性 例如,把表单的标题设置为“OK”ThisForm.Caption=OK,Page 25,6.1.5 对象的属性、方法和事件,设置对象属性值的编程方式:格式二:WITH.=.=ENDWITH 功能:连续设置对象的多个属性。说明:不能在交互方式下使用该语句;并不是所有的对象属性都可以用编程方式来改变其属性值,如Name属性。,Page 26,6.1.5 对象的属性、方法和事件,常用方法列表,二、对象的方法,Page 27,6.1.5 对象的属性、方法和事件,调
9、用对象方法的语句格式:.()例如:ThisForm.Refresh 表示刷新当前表单,Page 28,6.1.5 对象的属性、方法和事件,常用事件列表一,三、对象的事件,Page 29,6.1.5 对象的属性、方法和事件,常用事件列表二,Page 30,6.1.5 对象的属性、方法和事件,事件的激发:可以由系统、用户操作或程序代码激发。当事件发生时,相应的事件过程就会被执行。显式调用对象事件的命令格式:.事件名()例如,单击表单对象时会执行表单的Click事件过程,也可以使用下述命令显式调用:ThisForm.Click,Page 31,6.1.5 对象的属性、方法和事件,事件驱动工作方式 程
10、序的执行顺序取决于事件发生的前后顺序。因此应在恰当的事件中编写代码。通常将事件分为五个阶段:装载阶段(Load事件)对象生成阶段(Init事件)交互式操作阶段 对象释放阶段(Destroy事件)卸裁阶段(UnLoad事件),Page 32,6.1.5 对象的属性、方法和事件,装载阶段(Load)只有表单或表单集才有Load事件。表单运行时,首先需要把表单集和表单装入内存,即Load事件。按照先外后内的顺序触发Load事件:先触发表单集的Load事件,再触发表单的触发Load事件。注意:触发Load事件时,表单集、表单及所包容的所有对象都尚未被创建。该事件中代码通常是定义全局变量和设置环境。,P
11、age 33,6.1.5 对象的属性、方法和事件,对象生成阶段(Init)紧跟在Load事件之后,触发各对象的Init事件,即创建对象。对象的Init事件触发顺序是从内到外:容器对象的Init事件触发之前,先触发其所包容的所有对象的Init事件。在表单的Init事件中可以处理表单所包容的任一对象。,Page 34,6.1.5 对象的属性、方法和事件,交互式操作阶段 表单及其所包容的对象全部被创建之后,容器对象的Activate事件首先被触发,接着第一个控件获得焦点,之后通过用户的一系列交互操作来触发事件。,Page 35,6.1.5 对象的属性、方法和事件,对象释放阶段(Destroy)关闭表
12、单时要先通过Destroy事件释放表单及其所包容的所有对象。与Init事件触发顺序相反,Destroy事件触发的顺序是从外到内:先触发容器对象的Destroy事件,然后才触发其所包容的对象的Destroy事件。,Page 36,6.1.5 对象的属性、方法和事件,卸裁阶段(UnLoad)只有表单和表单集才有UnLoad事件。当表单所包容的所有对象、表单及表单集的Destroy事件触发之后,才触发表单、表单集的的UnLoad事件。,Page 37,6.2 创建表单利用表单向导,表单(Form):建立应用程序的最主要工具之一。表单产生标准的应用程序窗口或对话框,可以包含命令按钮、标签、文本框、列表
13、框、复选框等各种控件。控件是图形化的对象。用户可以利用表单向导和表单设计器创建表单。,Page 38,6.2 创建表单利用表单向导,打开表单向导有多种方法:(1)使用项目管理器(2)选择“文件”菜单中的“新建”命令(3)常用工具栏上的“新建”命令按钮(4)选择“工具”菜单中的“向导”菜单命令,Page 39,6.2 创建表单利用表单向导,在表单向导中建立表单的过程:步骤1-字段选取步骤2 选择表单样式步骤3 排序次序步骤4 完成,Page 40,6.3 表单设计器,表单设计器提供了可视化设计表单的界面。,表单设计器操作界面 利用表单设计器设计表单6.3.3 表单的保存、修改和运行6.3.4 表
14、单的常用属性、方法和事件6.3.5 表单的数据环境,Page 41,启动表单设计器(1)在“项目管理器”中启动:在“项目管理器”中选择“文档”选项卡,选定“表单”,单击“新建”按钮,在“新建表单”对话框中单击“新建表单”按钮。(2)菜单方式调用:选择“文件”菜单中的“新建”(3)单击常用工具栏上的“新建”按钮(4)命令方式 CREATE FORM,6.3.1 表单设计器操作界面,Page 42,6.3.1 表单设计器操作界面,表单设计器界面,Page 43,6.3.1 表单设计器操作界面,表单设计器工具栏,Page 44,6.3.1 表单设计器操作界面,表单控件工具栏,Page 45,6.3.
15、1 表单设计器操作界面,调色板工具栏,Page 46,6.3.1 表单设计器操作界面,属性窗口,Page 47,6.3.1 表单设计器操作界面,代码编辑窗口用于编写指定对象的指定事件(或方法)的程序代码。,代码编辑窗口,Page 48,6.3.2 利用表单设计器设计表单,一、表单控件的生成 工具之一:表单生成器。它能方便、快捷地在当前表单中生成字段对象。调用表单生成器的方法有:选择“表单”菜单中的“快速表单”命令。单击“表单设计器”工具栏中的“表单生成器”按钮。右击表单,在快捷菜单中选择“生成器”。,Page 49,6.3.2 利用表单设计器设计表单,表单生成器操作方法:与表单向导类似,从相关
16、表或视图中选取字段,这些字段将以控件的形式被添加到表单中。利用生成器只能按默认格式生成字段对象,若不能满足设计要求,用户还需在表单设计器中进一步编辑、修改和设计。,Page 50,6.3.2 利用表单设计器设计表单,二、控件的基本操作 遵循“先选定,后操作”的原则。1)选定控件用鼠标单击对象即可选定单个控件。若要选定相邻的多个控件,利用鼠标拖动把所选定控件包含在虚框中。若是选定不相邻的控件,可按下,然后单击指定控件。,Page 51,6.3.2 利用表单设计器设计表单,2)移动控件 选定对象之后,通过鼠标拖动对象到指定位置。也可以使用方向键移动控件。3)复制、删除控件 可利用“剪贴板”方便地复
17、制控件。选定要删除的控件,按键或使用“编辑”菜单中的“清除”命令即可删除控件。,Page 52,6.3.2 利用表单设计器设计表单,三、控件的布局调整 方法:利用“格式”菜单或“布局”工具栏。,左对齐,Page 53,6.3.2 利用表单设计器设计表单,四、设置Tab键次序 设计表单时,系统按照各控件设置的前后次序,自动给每一个控件指定获得焦点的次序,这就是Tab键次序,其值也就是对象属性TabIndex的值。表单运行时,在对象生成阶段系统依照各控件的Tab键次序依次激活各控件的Init事件。在对象生成阶段之后即交互操作阶段,按下键盘上的Tab键可以使焦点按Tab键次序在各控件间移动。,Pag
18、e 54,6.3.2 利用表单设计器设计表单,重新设置各控件的Tab键次序方法:交互式和列表式。用户可以选择“工具”菜单中“选项”,打开“选项”对话框的“表单”选项卡,选择一种设置的方法。,Page 55,6.3.2 利用表单设计器设计表单,如果采用的是交互式,那么,选择“显示”菜单中的“Tab键次序”,重新设置表单上的各个控件的“Tab键次序”的界面如下:,Page 56,6.3.2 利用表单设计器设计表单,如果采用的是列表式,那么,选择“显示”菜单中的“Tab键次序”,重新设置表单上的各个控件的“Tab键次序”的界面如下:,Page 57,6.3.3 表单的保存、修改和运行,保存表单:选择
19、“文件”菜单中的“保存”命令或单击“常用”工具栏中的“保存”按钮 自动保存成两个文件:扩展名为SCX的表单文件和扩展名为SCT的表单备注文件 表单修改选择“文件”菜单中的“打开”命令 使用命令方式 Modify Form 使用“项目管理器”运行表单:选择“表单”菜单中的“执行表单”命令或单击常用工具栏上的“运行”按纽。,Page 58,6.3.4 表单的常用属性、方法和事件,表单的外观属性 表一,Page 59,6.3.4 表单的常用属性、方法和事件,表单的外观属性 表二,Page 60,6.3.4 表单的常用属性、方法和事件,表单的标题栏属性,Page 61,6.3.4 表单的常用属性、方法
20、和事件,表单的其它常用属性,Page 62,6.3.4 表单的常用属性、方法和事件,表单常用方法,Page 63,6.3.4 表单的常用属性、方法和事件,表单常用方法说明:1)当用代码改变了表单及其所包容的控件的属性后,需要调用Refresh方法把改变后的属性内容显示出来。2)仅当表单的Closable属性值为.T.时,才可以调用Release方法关闭表单。,Page 64,6.3.4 表单的常用属性、方法和事件,表单常用的事件,Page 65,6.3.4 表单的常用属性、方法和事件,ThisForm.caption=红色Thisform.Backcolor=RGB(255,0,0)Wait
21、按任意键将显示表单 Window,例6.4:创建表单实现:运行表单,按任意键显示红色背景的表单;单击表单的“关闭”按钮,表单背景改为绿色;再按任意键关闭表单。,Page 66,再选择“destroy”事件,ThisForm.caption=绿色ThisForm.BackColor=RGB(0,255,0)Wait 按任意键将关闭表单 Window,6.3.4 表单的常用属性、方法和事件,Page 67,6.3.4 表单的常用属性、方法和事件,Page 68,6.3.4 表单的常用属性、方法和事件,表单运行后返回表单编辑状态,Page 69,6.3.5 表单的数据环境,数据环境简介 要设计与数据
22、表有关的表单,必须为表单指定相关的数据源。数据环境包括数据表、视图及其它们之间的关系,当表单运行时,其中的表和视图自动打开,关闭表单时也随之关闭。,Page 70,6.3.5 表单的数据环境,打开数据环境设计器 可以利用数据环境设计器来设置表单或表单集的数据环境。选择“显示”菜单中的“数据环境”命令,即打开数据环境设计器 向数据环境添加、移去表或视图,Page 71,6.3.5 表单的数据环境,在数据环境中设置表间的临时关系 将父表的某个字段拖动到子表中与之相匹配的索引标记上。如果子表中没有与之相匹配的索引标记,可以将父表中的字段拖动到与之相匹配的某个字段上,然后根据系统提示创建索引,即可设置
23、相应的关系。,Page 72,6.3.5 表单的数据环境,数据绑定的概念 若表单中控件与数据源实现数据绑定之后,控件的值与数据源的值保持一致。从而实现控件与数据源之间的数据传递。,控件用于实现数据绑定的属性,Page 73,6.3.5 表单的数据环境,实现数据绑定的快捷方式:从“数据环境设计器”、“项目管理器”和“数据库设计器”中将字段(表或视图)直接拖入当前表单,表单设计器将自动生成相应的控件,并自动实现相关控件与字段(表或视图)之间的数据绑定。,Page 74,6.3.5 表单的数据环境,各类型字段、表(或视图)与控件之间的对应关系,Page 75,小结,表单是Visual FoxPro提供的用于建立应用程序的最主要的工具之一。表单向导可用于创建表单,但不能用于修改已经存在的表单。表单设计器是Visual FoxPro面向对象的可视化程序设计的主要工具,以交互的方式向表单设计窗口添加控件,并可以利用“属性”窗口、生成器和程序代码来设置对象的属性。并可以利用程序代码为对象和方法扩展功能;为事件编写完成指定功能的代码。,
链接地址:https://www.31ppt.com/p-5098676.html