第 可视化程序设计基础.pptx
《第 可视化程序设计基础.pptx》由会员分享,可在线阅读,更多相关《第 可视化程序设计基础.pptx(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 Page 1 6.1.1 基本概念和术语 类 对象 属性 方法 事件 事件驱动工作方式第1页/共83页 Page 2 6.1.1 基本概念和术语 类(Class)类是一个抽象的概念,它是对一类具有相同属性和方法的对象的性质描述。对象(Object)对象是类的一个实例,每个对象都有自己固有的特征和行为,特征由相应的属性集描述,行为由相应的方法集和事件集组成。第2页/共83页 Page 3 6.1.1 基本概念和术语属性(Attribute)属性标识了对象的物理性质,决定了对象的特征和状态。方法(Method)方法是描述对象行为的过程,是为对象完成特定功能而编写的代码。代码是由系统定义。第3页/
2、共83页 Page 4 6.1.1 基本概念和术语事件(Event)事件是系统预先定义的动作,而由用户(如鼠标单击、鼠标拖动等)或系统(如计时器)激活。当事件发生时,对象就会执行相应的事件代码,事件代码由用户编写。事件驱动工作方式 当用户进行一些动作时,系统能自动执行事件代码。第4页/共83页 Page 5 6.1.2 面向对象程序设计的特点封装性(Encapsulation)将数据(属性)和处理数据方法(行为)的代码组合在一个类的定义中。类中属性和方法的细节对外是不可见的。第5页/共83页 Page 6 6.1.2 面向对象程序设计的特点继承性(Inheritance)利用现有类通过继承创建
3、新类。新类继承了现有类的属性和方法。一个子类应包含:1)继承父类的全部属性和方法 2)子类自己定义的属性和方法第6页/共83页 Page 7 6.1.2 面向对象程序设计的特点多态性(Polymorphism)指不同的对象接收同样的消息时,会导致不同的行为。第7页/共83页 Page 8 6.1.3 Visual FoxPro基类简介 VFP基类分为容器类和控件类 v 容器类对象可以包容其他对象,并且也允许访问所包容的对象,容器类提供了一种将多个对象进行组合的功能。v 控件类比容器类封装得更完整,控件类对象只能被包容在容器类对象之中。第8页/共83页 Page 9 6.1.3 Visual F
4、oxPro基类简介类名类名含义含义能包容的对象能包容的对象CommandGroup命令按钮组命令按钮组命令按钮命令按钮Container容器容器任意控件类对象、页框、命令按钮任意控件类对象、页框、命令按钮组、选项按钮组、表格等对象组、选项按钮组、表格等对象Colunm列列标头和除表单集、表单、工具栏、标头和除表单集、表单、工具栏、定时器及列以外的任意对象定时器及列以外的任意对象Form表单表单任意控件类对象、页框、命令按钮任意控件类对象、页框、命令按钮组、选项按钮组、表格、容器等对组、选项按钮组、表格、容器等对象象容器类介绍容器类介绍 表一表一第9页/共83页 Page 10 6.1.3 Vi
5、sual FoxPro基类简介类名类名含义含义能包容的对象能包容的对象Formset表单集表单集表单、工具栏表单、工具栏Grid表格表格列列OptionGroup选项按钮组选项按钮组选项按钮选项按钮Page页面页面任意控件、页框、命令按钮、选项按钮、任意控件、页框、命令按钮、选项按钮、表格等表格等PageFrame页框页框页面页面ToolBar工具栏工具栏任意控件、页框和容器任意控件、页框和容器容器类介绍容器类介绍 表二表二第10页/共83页 Page 11 6.1.3 Visual FoxPro基类简介类名类名含义含义CheckBox复选框复选框ComboBox组合框组合框CommandBu
6、tton命令按钮命令按钮Control控件控件Custom定制定制EditBox编辑框编辑框Header(列)标题(列)标题HyperLink超级链接超级链接Image图像图像Label标签标签控控件件类类介介绍绍表表一一第11页/共83页 Page 12 6.1.3 Visual FoxPro基类简介类名类名含义含义Line线条线条ListBox列表框列表框OleControlOLE容器控件容器控件OldBoundControlOLE绑定控件绑定控件OptionButton选项按钮选项按钮Shape形状形状Spinner微调控件微调控件TextBox文本框文本框Timer定时器定时器控控件件
7、类类介介绍绍表表二二第12页/共83页 Page 13 6.1.3 Visual FoxPro基类简介属性属性说明说明BaseClass基类名,说明当前类从哪个基类派生而来基类名,说明当前类从哪个基类派生而来Class类名,说明当前对象基于哪个类生成类名,说明当前对象基于哪个类生成ClassLibrary类库名,说明当前类存放在哪个类库中,若类库名,说明当前类存放在哪个类库中,若当前对象直接由基类创建,则该项为空当前对象直接由基类创建,则该项为空ParentClass父库名,说明当前类从哪个类直接派生而来父库名,说明当前类从哪个类直接派生而来若当前对象直接由基类创建,则该项为空若当前对象直接由
8、基类创建,则该项为空Visual FoxProVisual FoxPro类最小属性集类最小属性集第13页/共83页 Page 14 6.1.3 Visual FoxPro基类简介Visual FoxProVisual FoxPro基类最小事件集基类最小事件集 事件事件说明说明Init当对象创建时激活当对象创建时激活Destroy当对象从内存中释放时激活当对象从内存中释放时激活Error基类中的事件或方法发生错误时激活基类中的事件或方法发生错误时激活第14页/共83页 Page 15 6.1.4 对象的引用对象是面向对象的程序设计中的最小单元,应用程序由若干个对象组成。用户在编程中使用对象的属性
9、、调用对象的方法或调用对象的事件都需要引用对象。引用对象就是描述对象的归属层次。对象的层次关系是包容与被包容的关系,只有容器类的对象才可以包容其他对象。第15页/共83页 Page 16 包容关系的示例6.1.4 对象的引用第16页/共83页 Page 17 6.1.4 对象的引用层次结构第17页/共83页 Page 18 6.1.4 对象的引用引用对象时必须指明该对象在嵌套层次关系中的位置。对象的引用格式中用“.”分隔对象、属性和方法。对象引用名对象引用名含义含义Parent当前对象的直接容器(父对象)当前对象的直接容器(父对象)This当前对象当前对象ThisForm当前对象所在的表单当前
10、对象所在的表单ThisFormSet当前对象所在的表单集当前对象所在的表单集常用的对象引用名常用的对象引用名第18页/共83页 Page 19 6.1.4 对象的引用对象的引用有相对引用和绝对引用两种(1)相对引用:从对象的当前层次开始逐级引用。其引用关键字由This开头。例如,若当前对象是表单(Form1)This.caption 表示引用当前对象(表单)的标题属性。又如,若当前对象是表格(Grid1)This.Parent.Command1.caption 表示引用与当前对象(表格)同一容器中命令按钮对象的标题属性。第19页/共83页 Page 20 6.1.4 对象的引用(2)绝对引用:
11、从当前表单集或表单对象开始,逐级引用直到引用的对象。其引用关键字由Thisformset或Thisform开头。例如:ThisFormSet.Form1.Text1.Value 表示从表单集开始,引用文本框的Value属性 ThisForm.Command1.Click 表示从当前表单开始,引用命令按钮的Click事件第20页/共83页 Page 21 6.1.5 对象的属性、方法和事件对象的属性:是对象的数据,用来描述对象的特征和状态。不同类对象具有不同的属性集,并且同类对象中各个对象的属性值又可以各不相同。第21页/共83页 Page 22 6.1.5 对象的属性、方法和事件对象的方法:对
12、象的行为和动作称为方法,一个对象可以具有若干方法,用户虽然不能修改方法中已存在的代码,但用户可以为某个方法添加新的代码,以扩展方法的功能。第22页/共83页 Page 23 6.1.5 对象的属性、方法和事件对象的事件:是预先定义的、由用户或系统触发的、能被对象识别和响应的动作,事件过程是用户为处理特定事件而编写的一段程序代码。第23页/共83页 Page 24 6.1.5 对象的属性、方法和事件属性名属性名说明说明NameName指定对象引用名指定对象引用名CaptionCaption指定对象标题指定对象标题ValueValue指定对象的当前值指定对象的当前值ForeColor,Backco
13、lorForeColor,Backcolor指定对象的前景颜色和背景颜色指定对象的前景颜色和背景颜色FontName,FontSizeFontName,FontSize指定对象文本的字体名和大小指定对象文本的字体名和大小EnabledEnabled指定对象当前是否可用指定对象当前是否可用VisibleVisible指定对象是可见还是隐藏指定对象是可见还是隐藏常用属性常用属性 表一表一一、一、对象的属性对象的属性第24页/共83页 Page 25 6.1.5 对象的属性、方法和事件属性名属性名说明说明ReadOnlyReadOnly指定对象是否只读指定对象是否只读Height,Width,Lef
14、t,TopHeight,Width,Left,Top指定对象的高度、宽度以及其与指定对象的高度、宽度以及其与容器左边和顶边的距离容器左边和顶边的距离ControlSourceControlSource指定对象的数据源指定对象的数据源TabIndexTabIndex指定页对象上各控件的指定页对象上各控件的TabTab键次序键次序和表单集中各表单的和表单集中各表单的TabTab键次序键次序ToolTipTextToolTipText指定对象的工具提示文本指定对象的工具提示文本CommentComment存储对象的有关信息存储对象的有关信息常用属性常用属性 表二表二第25页/共83页 Page 26
15、 6.1.5 对象的属性、方法和事件对象属性值的设置v一个对象创建后,其各个属性都有默认的属性值。用户可以通过属性窗口或编程的方式来设置对象的属性值。v设置对象属性值的编程方式:格式一:.=功能:设置对象的一个属性 例如,把表单的标题设置为“OK”ThisForm.Caption=OK 第26页/共83页 Page 27 6.1.5 对象的属性、方法和事件v设置对象属性值的编程方式:格式二:WITH .=.=ENDWITH 功能:连续设置对象的多个属性。说明:不能在交互方式下使用该语句;并不是所有的对象属性都可以用编程方式来改变其属性值,如Name属性。第27页/共83页 Page 28 6.
16、1.5 对象的属性、方法和事件方法方法说明说明ReleaseRelease从内存中释放表单或表单集从内存中释放表单或表单集RefreshRefresh刷新对象的屏幕显示,并刷新任何值刷新对象的屏幕显示,并刷新任何值SetAllSetAll对容器对象的全部或某一类控件设置属性对容器对象的全部或某一类控件设置属性SetFocusSetFocus把焦点移到该对象把焦点移到该对象ClsCls清除表单上的图形和文本清除表单上的图形和文本HideHide隐藏表单隐藏表单ShowShow显示表单显示表单常用方法列表常用方法列表二、二、对象的对象的方法方法第28页/共83页 Page 29 6.1.5 对象的
17、属性、方法和事件v调用对象方法的语句格式:.()例如:ThisForm.Refresh 表示刷新当前表单第29页/共83页 Page 30 6.1.5 对象的属性、方法和事件事件事件说明说明事件事件说明说明ClickClick单击鼠标左键时单击鼠标左键时 When When 对象获得焦点之前对象获得焦点之前DblClickDblClick双击鼠标左键时双击鼠标左键时 GotFocusGotFocus对象获得焦点时对象获得焦点时RightClickRightClick 单击鼠标右键时单击鼠标右键时 ValidValid对象失去焦点之前对象失去焦点之前MouseDownMouseDown按下鼠标键
18、时按下鼠标键时LostFocusLostFocus对象失去焦点时对象失去焦点时MouseUPMouseUP释放鼠标键时释放鼠标键时ActivateActivate对象被激活时对象被激活时MouseMoveMouseMove移动鼠标键时移动鼠标键时DeactivateDeactivate 容器对象不活动时容器对象不活动时常用事件列表一常用事件列表一三、三、对象的对象的事件事件第30页/共83页 Page 31 6.1.5 对象的属性、方法和事件事件事件说明说明事件事件说明说明KeyPressKeyPress按下并释放键盘某按下并释放键盘某键位时键位时LoadLoad装载表单或表单装载表单或表单集
19、时集时InteractiveInteractiveChangeChange当使用键盘或鼠标当使用键盘或鼠标改变控件的值时改变控件的值时UnLoadUnLoad释放表单或表单释放表单或表单集时集时ErrorError当对象运行发生错当对象运行发生错误时误时InitInit创建对象时创建对象时DestroyDestroy 释放对象时释放对象时常用事件列表二常用事件列表二第31页/共83页 Page 32 6.1.5 对象的属性、方法和事件事件的激发:可以由系统、用户操作或程序代码激发。当事件发生时,相应的事件过程就会被执行。显式调用对象事件的命令格式:.事件名()例如,单击表单对象时会执行表单的C
20、lick事件过程,也可以使用下述命令显式调用:ThisForm.Click第32页/共83页 Page 33 6.1.5 对象的属性、方法和事件事件驱动工作方式 程序的执行顺序取决于事件发生的前后顺序。因此应在恰当的事件中编写代码。通常将事件分为五个阶段:v 装载阶段(Load事件)v 对象生成阶段(Init事件)v 交互式操作阶段 v 对象释放阶段(Destroy事件)v 卸裁阶段(UnLoad事件)第33页/共83页 Page 34 6.1.5 对象的属性、方法和事件v装载阶段(Load)l只有表单或表单集才有LoadLoad事件。l表单运行时,首先需要把表单集和表单装入内存,即LoadL
21、oad事件。l按照先外后内的顺序触发LoadLoad事件:先触发表单集的LoadLoad事件,再触发表单的触发LoadLoad事件。l注意:触发LoadLoad事件时,表单集、表单及所包容的所有对象都尚未被创建。该事件中代码通常是定义全局变量和设置环境。第34页/共83页 Page 35 6.1.5 对象的属性、方法和事件v对象生成阶段(Init)l紧跟在LoadLoad事件之后,触发各对象的InitInit事件,即创建对象。l对象的InitInit事件触发顺序是从内到外:容器对象的InitInit事件触发之前,先触发其所包容的所有对象的InitInit事件。l在表单的InitInit事件中可
22、以处理表单所包容的任一对象。第35页/共83页 Page 36 6.1.5 对象的属性、方法和事件v交互式操作阶段 表单及其所包容的对象全部被创建之后,容器对象的Activate事件首先被触发,接着第一个控件获得焦点,之后通过用户的一系列交互操作来触发事件。第36页/共83页 Page 37 6.1.5 对象的属性、方法和事件 v对象释放阶段(Destroy)l关闭表单时要先通过DestroyDestroy事件释放表单及其所包容的所有对象。l与InitInit事件触发顺序相反,DestroyDestroy事件触发的顺序是从外到内:先触发容器对象的DestroyDestroy事件,然后才触发其所
23、包容的对象的DestroyDestroy事件。第37页/共83页 Page 38 6.1.5 对象的属性、方法和事件v卸裁阶段(UnLoad)l只有表单和表单集才有UnLoadUnLoad事件。l当表单所包容的所有对象、表单及表单集的DestroyDestroy事件触发之后,才触发表单、表单集的的UnLoadUnLoad事件。第38页/共83页 Page 39 6.2 创建表单利用表单向导 表单(Form):建立应用程序的最主要工具之一。表单产生标准的应用程序窗口或对话框,可以包含命令按钮、标签、文本框、列表框、复选框等各种控件。控件是图形化的对象。用户可以利用表单向导和表单设计器创建表单。第
24、39页/共83页 Page 40 6.2 创建表单利用表单向导 打开表单向导有多种方法:(1)使用项目管理器(2)选择“文件”菜单中的“新建”命令(3)常用工具栏上的“新建”命令按钮(4)选择“工具”菜单中的“向导”菜单命令第40页/共83页 Page 41 表单向导以一种交互方式引导用户创建表单表单向导可建立的两类表单:单库表表单 课本P155 例6.1 创建一个表单,实现对数据表student的维护双表(一对多)表单 课本P158 例6.2 利用student和grade表设计一个一对多表单的运行结果。6.2 创建表单利用表单向导第41页/共83页 Page 42 6.2 创建表单利用表单
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可视化程序设计基础 可视化 程序设计 基础
限制150内