专升本辅导第7章面向对象程序设计ppt课件

上传人:痛*** 文档编号:174343331 上传时间:2022-12-14 格式:PPT 页数:64 大小:361.50KB
收藏 版权申诉 举报 下载
专升本辅导第7章面向对象程序设计ppt课件_第1页
第1页 / 共64页
专升本辅导第7章面向对象程序设计ppt课件_第2页
第2页 / 共64页
专升本辅导第7章面向对象程序设计ppt课件_第3页
第3页 / 共64页
资源描述:

《专升本辅导第7章面向对象程序设计ppt课件》由会员分享,可在线阅读,更多相关《专升本辅导第7章面向对象程序设计ppt课件(64页珍藏版)》请在装配图网上搜索。

1、第7章 面向对象程序设计7.1 对象7.2 类 Visual FoxPro 6.0在支持传统的面向过程编程方在支持传统的面向过程编程方法的根底上,全面引入面向对象的程序设计方法的根底上,全面引入面向对象的程序设计方法。法。使得用户经过面向对象的方法,可以设计出更使得用户经过面向对象的方法,可以设计出更加美观的运用程序界面,开发出真正的关系数加美观的运用程序界面,开发出真正的关系数据库运用程序。据库运用程序。面向对象程序设计根本性地改动了早期面向对象程序设计根本性地改动了早期FoxPro运用程序面向过程的开发方式,将重点放在了运用程序面向过程的开发方式,将重点放在了对象之间的联络上,而不是详细实

2、现的细节。对象之间的联络上,而不是详细实现的细节。面向对象程序设计经过代码重用和承继的方式,面向对象程序设计经过代码重用和承继的方式,运用户在设计程序时不再做大量的反复劳动,运用户在设计程序时不再做大量的反复劳动,且将对象的细节隐藏起来,让用户将留意力集且将对象的细节隐藏起来,让用户将留意力集中在对象与系统其他部分的联络上,这是面向中在对象与系统其他部分的联络上,这是面向过程的程序设计方法所不能做到的。过程的程序设计方法所不能做到的。7.1 对象对象 7.1.1 对象的属性对象的属性 7.1.2 事件事件 7.1.3 方法程序方法程序 7.1.4 数据环境数据环境 7.1.5 对象的援用对象的

3、援用 客观世界里的任何实体都可以被看作是对象。客观世界里的任何实体都可以被看作是对象。对象可以是详细的物,也可以指某些概念。对象可以是详细的物,也可以指某些概念。任何对象都具有本人的特征和行为。任何对象都具有本人的特征和行为。在面向对象程序设计中,一切事物都可以被在面向对象程序设计中,一切事物都可以被笼统为对象,例如表单上的命令铵钮是对象,笼统为对象,例如表单上的命令铵钮是对象,表单本身也是一个对象。表单本身也是一个对象。在在VFP中,又将对象分为控件对象和容器对中,又将对象分为控件对象和容器对象两种。象两种。对象建立以后,其操作就可以经过与对象有对象建立以后,其操作就可以经过与对象有关的属性

4、、事件和方法来描画。关的属性、事件和方法来描画。7.1.1 对象的属性对象的属性 对象的属性即对象的特征、性质,例如当描对象的属性即对象的特征、性质,例如当描画一个命令按钮时,可以用它所在位置、尺画一个命令按钮时,可以用它所在位置、尺寸大小、颜色及它上面显示的文字的字体、寸大小、颜色及它上面显示的文字的字体、字号等特征来描画,这些特征都可用属性来字号等特征来描画,这些特征都可用属性来表示。表示。在在VFP中,不同对象的属性是不一样的,但中,不同对象的属性是不一样的,但有些属性如称号、标题等属性是很多对有些属性如称号、标题等属性是很多对象都具有的。象都具有的。1对象的属性窗口对象的属性窗口 表单

5、设计器翻开后,只需选择【显示】菜单中的【属性】命令或选择“表单快捷菜单中的【属性】命令,即可翻开如图7.1所示的“属性窗口。该窗口能显示当前对象的属性、事件和方法程序,并允许用户更改属性、定义事件代码和修正方法程序。属性窗口自上至下依次包括对象组合框、选项卡、属性设置框、属性列表和属性阐明5个部分,各部分功能如下:1对象组合框:对象组合框:包括当前表单、表单集及全部控件的列包括当前表单、表单集及全部控件的列表,用户可在列表中选择表单或控件,表,用户可在列表中选择表单或控件,这和在表单窗口选择对象的效果是一致这和在表单窗口选择对象的效果是一致的。多个控件之间在这里是分多级显示,的。多个控件之间在

6、这里是分多级显示,以表达它们之间的父与子的关系。以表达它们之间的父与子的关系。2选项卡:选项卡:共有共有5个,分别用来显示对象的属性、事件、方法程序个,分别用来显示对象的属性、事件、方法程序等选项,选项按字母顺序陈列。等选项,选项按字母顺序陈列。各选项卡的作用如下:各选项卡的作用如下:“全部选项卡:列出全部属性、事件和方法程序。全部选项卡:列出全部属性、事件和方法程序。“数据选项卡:列出显示或支配数据的属性。数据选项卡:列出显示或支配数据的属性。“方法程序选项卡:列出方法程序与事件。方法程方法程序选项卡:列出方法程序与事件。方法程序与事件都是对象的程序,区别在于,带序与事件都是对象的程序,区别

7、在于,带Event后缀的后缀的选项是事件,否那么就是方法程序。选项是事件,否那么就是方法程序。“规划选项卡:列出位置、大小等属性。规划选项卡:列出位置、大小等属性。“其他选项卡:列出类信息和用户自定义属性。其他选项卡:列出类信息和用户自定义属性。除除“全部选项卡外的全部选项卡外的4个选项卡都是分类选项卡,用户既可在全部个选项卡都是分类选项卡,用户既可在全部选项卡中查找所要的选项,也可在分类选项卡中查找选项。选项卡中查找所要的选项,也可在分类选项卡中查找选项。3属性设置框:属性设置框:可以是文本框或组合框,用于更改或设置对象的属可以是文本框或组合框,用于更改或设置对象的属性值。性值。在属性设置框

8、左侧有在属性设置框左侧有3个按钮的功能如下:个按钮的功能如下:确认按钮确认按钮:在属性设置文本框中输入属性值后,:在属性设置文本框中输入属性值后,单击此按钮可确认对属性的更改,与按回车键等效。单击此按钮可确认对属性的更改,与按回车键等效。取消按钮取消按钮:当属性设置文本框输入属性值,但还:当属性设置文本框输入属性值,但还没有确认时,单击此按钮可取消刚刚的输入值,并没有确认时,单击此按钮可取消刚刚的输入值,并恢复以前的值。恢复以前的值。函数按钮函数按钮fx:单击此按钮可翻开表达式生成器,用:单击此按钮可翻开表达式生成器,用来设置一个表达式,该表达式的值将作为属性值。来设置一个表达式,该表达式的值

9、将作为属性值。对于用表达式设置的属性,在属性值之前将自动插对于用表达式设置的属性,在属性值之前将自动插入一个等号。入一个等号。4属性列表:属性列表:属性列表的每一行包含两列内容,即名字列属性列表的每一行包含两列内容,即名字列和值列。和值列。用户选择某属性后即可更改属性值。更矫正用户选择某属性后即可更改属性值。更矫正的属性仍可恢复默许值,只需选择该属性后的属性仍可恢复默许值,只需选择该属性后右单击该属性,在弹出的快捷菜单中选择右单击该属性,在弹出的快捷菜单中选择【重置为默许值】命令即可。【重置为默许值】命令即可。需求留意的是,在属性值列表中,以斜体字需求留意的是,在属性值列表中,以斜体字显示的选

10、项表表示只读,用户不能修正,用显示的选项表表示只读,用户不能修正,用户修正正的选项将以黑体显示。户修正正的选项将以黑体显示。5属性阐明信息:属性阐明信息:在属性列表中选择某属性、事件或方法在属性列表中选择某属性、事件或方法程序后,属性窗口的底部即简要地显示程序后,属性窗口的底部即简要地显示它的意义。它的意义。2常用的对象属性常用的对象属性 不同的对象所具有的属性也是不一样的,这也可从属性的不同的对象所具有的属性也是不一样的,这也可从属性的定义中表达出来,但是一些对象会有一些共性,表定义中表达出来,但是一些对象会有一些共性,表7.1列出列出了一些对象共有而且常用的属性。了一些对象共有而且常用的属

11、性。属性说 明运用于Caption设置对象的标题表单、标签、命令按钮等Name设置对象的名字在程序中援用任何对象Value设置控件当前形状取值文本框、列表框等ForeColor设置对象中的前风光文本和图形颜色表单、标签、文本框、命令按钮等BackColor设置对象内部的背风光表单、标签、文本框、列表框等BackStyle设置对象背景能否透明标签、文本框、图像等AutoSize控件能否根据正文自动调整大小标签框、单项选择按钮组、复选框等Height指定对象在屏幕上的高度标签框、文本框等Width指定对象在屏幕上的宽度标签框、文本框等Top指定相对父对象最顶端所在的位置标签框、文本框等Left指定

12、相对父对象的左边境标签框、文本框等FontName指定对象显示文本的字体标签框、文本框等FontSize指定对象显示文本的字号标签框、文本框等FontBold设置对象显示文天性否粗体标签框、文本框等Alignment控件正文程度对齐方式标签框、文本框、复选框等AlwaysOnTop能否处于其他窗口之上表单AutoCenter能否在VFP主窗口内自动居中表单Closable标题栏中封锁按钮能否有效表单Controlbox能否取消标题栏一切按钮表单、工具栏MaxButton能否有最大化按钮表单MinButton能否有最小化按钮表单Movable运转时表单能否挪动表单WindowState设置运转时

13、是最大化或最小化表单WindowType用于控制表单是非方式表单还是方式表单表单AutoCloseTables表单释放时能否封锁表或视图,默以为.T.表单AutoOpenTables表单加载时能否封锁表或视图,默以为.T.表单ShowTips当鼠标放在控件上时确定能否显示工具提示表单、工具栏ShowWindow指定表单是一个顶层表单还是一个子表单表单Enabled指定控件能否可用表单、命令按钮等Visible指定控件能否可见表单、命令按钮等7.1.2 事件事件 事件是指能够会发生在对象上的事情,也事件是指能够会发生在对象上的事情,也即对对象所作的操作或者系统对某个对即对对象所作的操作或者系统对

14、某个对象的操作。象的操作。如按钮被单击,对象被拖动、被改动大小、如按钮被单击,对象被拖动、被改动大小、被双击等。被双击等。一个对象可以有多个事件,但是每个事件一个对象可以有多个事件,但是每个事件都是由系统预先规定的。都是由系统预先规定的。一个事件对应于一个程序,即事件过程。一个事件对应于一个程序,即事件过程。1事件触发方式事件触发方式 事件一旦被触发,系统马上要去执行与该事件对事件一旦被触发,系统马上要去执行与该事件对应的过程。等事件过程执行终了后,系统又处于应的过程。等事件过程执行终了后,系统又处于等待某事件发生的形状。即事件包括事件过程和等待某事件发生的形状。即事件包括事件过程和事件触发方

15、式两个方面。事件过程的代码应该事事件触发方式两个方面。事件过程的代码应该事先编写好。从表先编写好。从表7.2列出的列出的VFP系统常见的事件可系统常见的事件可看出事件的触发方式分三种:看出事件的触发方式分三种:1用户触发:如单击命令按钮等。用户触发:如单击命令按钮等。2系统触发:如计时器事件,将会自动按设系统触发:如计时器事件,将会自动按设定的时间间隔发生。定的时间间隔发生。3代码触发:用代码来调用事件过程。代码触发:用代码来调用事件过程。常用事件常用事件 事事 件件发生时机发生时机事事 件件发生时机发生时机Click单击鼠标左键时单击鼠标左键时GotFocus对象获得焦点时对象获得焦点时Db

16、lClick双击鼠标左键时双击鼠标左键时Activate对象激活时对象激活时DragDrop鼠标拖放时鼠标拖放时Init创建对象时创建对象时RightClick单击鼠标右键时单击鼠标右键时Load表单被装入内存时表单被装入内存时MouseUp释放鼠标时释放鼠标时Unload释放对象时释放对象时MouseDown按下鼠标键时按下鼠标键时InteractiveChange改动控件的值时改动控件的值时KeyPress按下并释放某键盘时按下并释放某键盘时Resize调整对象大小时调整对象大小时DownClick单击控件的上下箭头时单击控件的上下箭头时Timer在设置的时间间隔内发在设置的时间间隔内发生

17、生Destroy释放一个对象时释放一个对象时Valid当一个控件失去聚焦时当一个控件失去聚焦时2为事件编写代码为事件编写代码事件代码需在代码编辑窗口中编写,翻开某对象代码编辑窗口的方法有多事件代码需在代码编辑窗口中编写,翻开某对象代码编辑窗口的方法有多种:种:1双击该对象。双击该对象。2选择对象快捷菜单中的【代码】命令。选择对象快捷菜单中的【代码】命令。3选中对象,选择【显示】菜单的【代码】命令。选中对象,选择【显示】菜单的【代码】命令。以上方法均可弹出图以上方法均可弹出图7.2所示的代码编辑窗口。所示的代码编辑窗口。7.1.3 方法程序方法程序 方法程序又称方法,是指对象所固有完成某种义务的

18、功方法程序又称方法,是指对象所固有完成某种义务的功能,它是能,它是VFP为对象内定的通用过程,用户可以在需求为对象内定的通用过程,用户可以在需求的时候调用,由于方法的代码由的时候调用,由于方法的代码由VFP定义,所以对用户定义,所以对用户是不可见的。是不可见的。方法程序与事件有类似之处,都是为了完成某个义务,方法程序与事件有类似之处,都是为了完成某个义务,但同一个事件可完成不同义务取决于用户所编写的代码,但同一个事件可完成不同义务取决于用户所编写的代码,而方法那么是固定的,任何时候调用都是完成同一个义而方法那么是固定的,任何时候调用都是完成同一个义务。所以其中的代码也不需求再编写。务。所以其中

19、的代码也不需求再编写。表表7.3列出了常用的方法。列出了常用的方法。方法程序方法程序功功 能能Cls去除表单中的图形和文本去除表单中的图形和文本Clear去除组合框和列表框控件中的内容去除组合框和列表框控件中的内容Show把表单或表单集的把表单或表单集的Visible属性设置为属性设置为.T.,并使表单成为活动,并使表单成为活动对象对象Hide经过把经过把Visible属性设置为属性设置为.F.,隐藏表单、表单集或工具栏,隐藏表单、表单集或工具栏Move用于挪动一个对象用于挪动一个对象SetFocus为一个控件指定焦点,使其成为活动对象为一个控件指定焦点,使其成为活动对象Box在表单对象上画一

20、个矩形在表单对象上画一个矩形Circle在表单对象上画一个圆或椭圆在表单对象上画一个圆或椭圆Line在表单对象上绘制一条线在表单对象上绘制一条线Print在表单对象上打印一个字符串在表单对象上打印一个字符串AddItem给组合框或列表框控件添加一个新数据项给组合框或列表框控件添加一个新数据项Refresh重画表单或控件,并刷新一切的值重画表单或控件,并刷新一切的值Release从内存中释放表单集或表单从内存中释放表单集或表单Quit终了一个终了一个VFP实例实例7.1.4 数据环境数据环境 1数据环境的概念数据环境的概念 数据环境是指在翻开或修正一个表单或报表时需数据环境是指在翻开或修正一个表

21、单或报表时需求运用的数据源,包括翻开的全部表、视图和关求运用的数据源,包括翻开的全部表、视图和关系。系。数据环境及其中的表与视图都是对象。数据环境数据环境及其中的表与视图都是对象。数据环境一旦建立,当翻开或运转表单时,其中的表或视一旦建立,当翻开或运转表单时,其中的表或视图即自动翻开,与数据环境能否显示无关;而在图即自动翻开,与数据环境能否显示无关;而在封锁或释放表单时,表或视图也能随之封锁。封锁或释放表单时,表或视图也能随之封锁。2数据环境设计器的运用数据环境设计器的运用 数据环境设计器可用来可视化的创建或修正数据环境,可以从数据环境设计器可用来可视化的创建或修正数据环境,可以从表单的快捷菜

22、单中选择【数据环境】命令,或者选择【显示】表单的快捷菜单中选择【数据环境】命令,或者选择【显示】菜单的【数据环境】命令均可翻开如图菜单的【数据环境】命令均可翻开如图7.3所示的所示的“数据环境数据环境设计器,在弹出的对话框中添加要运用的表或视图。设计器,在弹出的对话框中添加要运用的表或视图。3数据环境菜单数据环境菜单 当数据环境设计器处于翻开形状时,会出现当数据环境设计器处于翻开形状时,会出现数据环境菜单,菜单中提供的几个命令具有数据环境菜单,菜单中提供的几个命令具有查看和修正数据环境的功能,各命令选项功查看和修正数据环境的功能,各命令选项功能如下:能如下:添加:用于向数据环境添加表或视图。添

23、加:用于向数据环境添加表或视图。移去:移去选择的表或视图。移去:移去选择的表或视图。阅读:阅读选择的表或视图。阅读:阅读选择的表或视图。执行表单:运转表单。执行表单:运转表单。7.1.5 对象的援用对象的援用 在面向对象的程序设计中经常要援用对象,在面向对象的程序设计中经常要援用对象,或援用对象的属性、事件与调用方法程序。或援用对象的属性、事件与调用方法程序。在援用对象时要遵照一定的规那么,主要在援用对象时要遵照一定的规那么,主要包括以下包括以下4个方面:个方面:1在程序代码中普通用以下关键字开头:在程序代码中普通用以下关键字开头:ThisFormSet&表示当前表单集表示当前表单集 This

24、Form&表示当前表单表示当前表单 This&表示当前对象表示当前对象2援用格式 普通在援用关键字后跟一个点号,表示从属关系,再写出被援用对象或者对象的属性、事件或方法程序。例如:ThisForm.Label1.Caption=标签标题 ThisForm.cls3允许多级援用允许多级援用 在运用程序中,多个对象之间有多级的从属关在运用程序中,多个对象之间有多级的从属关系,援用时可提供对象的完好容器层次来援用系,援用时可提供对象的完好容器层次来援用称绝对援用,也可从当前层次来援用称称绝对援用,也可从当前层次来援用称相对援用。以下是常用的援用格式:相对援用。以下是常用的援用格式:ThisFormS

25、et.属性名属性名|事件事件|方法程序方法程序|对象名对象名 ThisForm.属性名属性名|事件事件|方法程序方法程序|对象名对象名 This.属性名属性名|事件事件|方法程序方法程序|对象名对象名 对象名对象名.属性名属性名|事件事件|方法程序方法程序4父调用父调用 父调用即控件援用包含它的容器控件。父调用即控件援用包含它的容器控件。例如:例如:This.Parent.BackColor=RGB(192,0,0)&将本对象的父对象的背风光设置将本对象的父对象的背风光设置为暗红色为暗红色7.2 类类 7.2.1 类的概念类的概念 7.2.2 自定义类自定义类 7.2.3 创建工具栏创建工具栏

26、 7.2.1 类的概念类的概念 类是一组具有一样特性的对象的笼统的类是一组具有一样特性的对象的笼统的定义。定义。它将属性和方法一致同来,把具有类似它将属性和方法一致同来,把具有类似特征和行为的对象构成一个构造。特征和行为的对象构成一个构造。1类与对象类与对象 类和对象的关系亲密,但并不一样。类包含了有关类和对象的关系亲密,但并不一样。类包含了有关对象的特征和行为信息,它是对象的蓝图和框架。对象的特征和行为信息,它是对象的蓝图和框架。类是定义了对象特征以及对象外观和行为的模板。类是定义了对象特征以及对象外观和行为的模板。比如,在表单控件工具栏中,每个按钮都代表一个比如,在表单控件工具栏中,每个按

27、钮都代表一个类,用其中某个按钮在表单上创建的一个控件就是类,用其中某个按钮在表单上创建的一个控件就是一个对象。类与对象存在如下关系:一个对象。类与对象存在如下关系:1类是对象的定义。类规定并提供了对象具有类是对象的定义。类规定并提供了对象具有的属性、事件和方法程序。的属性、事件和方法程序。2对象经过类而产生。对象经过类而产生。3对象是类的一个实例。对象是类的一个实例。2基类与子类基类与子类 1基类基类 基类是基类是VFP系统预先定义的类,在如图系统预先定义的类,在如图7.4所示所示的的“新建类对话框的新建类对话框的“派生于下拉列表框派生于下拉列表框中,包含了全部基类,初始的表单控件工具栏中,包

28、含了全部基类,初始的表单控件工具栏中包含的类也是基类。中包含的类也是基类。2子类子类 子类是指以某个类的定义为根底创建的新类,子类是指以某个类的定义为根底创建的新类,子类所基于的类称为父类。子类所基于的类称为父类。比如假设要从基类创建出新类时,那么基类比如假设要从基类创建出新类时,那么基类就是父类,新建类即为子类。就是父类,新建类即为子类。子类将承继父类的全部特征,包括对父类的子类将承继父类的全部特征,包括对父类的所做的修正。所做的修正。3用户自定义类用户自定义类 用户可以从基类派生出子类,即用户自定义类;用户可以从基类派生出子类,即用户自定义类;VFP还允许从用户定义类派生出子类,也就是还允

29、许从用户定义类派生出子类,也就是说用户自定义类可以是子类,也可以是父类。说用户自定义类可以是子类,也可以是父类。用户可以为用户自定义类设置属性、编写代码用户可以为用户自定义类设置属性、编写代码与方法程序,也可创建新的属性和方法程序。与方法程序,也可创建新的属性和方法程序。用户还可以将本人定义的类添加到表单控件工用户还可以将本人定义的类添加到表单控件工具栏中。具栏中。4容器类和控件类容器类和控件类 VFP提供了两大基类:容器类和控件类。提供了两大基类:容器类和控件类。容器类可以包容别的对象。如表单类中容器类可以包容别的对象。如表单类中可以放命令按钮、复选框按钮、文本框可以放命令按钮、复选框按钮、

30、文本框控件等,因此表单可以看成一个容器类。控件等,因此表单可以看成一个容器类。控件类是可以包含在容器类中并由用户控件类是可以包含在容器类中并由用户派生的派生的VFP基类。基类。5类库类库 类库可用来存储以可视方式设计的类,类库可用来存储以可视方式设计的类,其文件扩展名为其文件扩展名为.vcx。一个类库通常可包容多个子类,这些子一个类库通常可包容多个子类,这些子类允许由不同的基类派生。类允许由不同的基类派生。3类的特征类的特征类有如下特征,这些特征对提高代码的可重用性和易维护性有很好用途。类有如下特征,这些特征对提高代码的可重用性和易维护性有很好用途。1封装性封装性封装的目的就是信息隐藏,把对象

31、的内部代码隐藏起来。用户只需知道封装的目的就是信息隐藏,把对象的内部代码隐藏起来。用户只需知道该对象具有什么功能以及如何运用该对象,而不用了解这些功能是如何该对象具有什么功能以及如何运用该对象,而不用了解这些功能是如何实现的。实现的。封装特性使得对代码的修正和维护变得比以前更容易了,同时还可以很封装特性使得对代码的修正和维护变得比以前更容易了,同时还可以很方便地利用提供的根本类库来实现强大的功能。方便地利用提供的根本类库来实现强大的功能。2承继性承继性承继是面向对象程序设计技术中的一个重要的技术。它用来描画类之间承继是面向对象程序设计技术中的一个重要的技术。它用来描画类之间的共同属性,减少了类

32、似类之间的反复阐明;它表达了普通化及特殊化的共同属性,减少了类似类之间的反复阐明;它表达了普通化及特殊化的原那么。的原那么。在面向对象程序设计中,承继用以阐明子类延用父类特征的才干。假设在面向对象程序设计中,承继用以阐明子类延用父类特征的才干。假设父类特征发生改动,那么子类将承继这些新特征。父类特征发生改动,那么子类将承继这些新特征。3多态性多态性多态性是指不同的对象接纳到一样的音讯时,可以作出完全不同的解释,多态性是指不同的对象接纳到一样的音讯时,可以作出完全不同的解释,进而消费完全不同的行为。利用多态性,运用程序可以发送普通方式的进而消费完全不同的行为。利用多态性,运用程序可以发送普通方式

33、的音讯,而将一切实现的细节留给接纳音讯的对象来处理。音讯,而将一切实现的细节留给接纳音讯的对象来处理。7.2.2 自定义类自定义类 VFP最强大的功能之一就是支持创建在运用最强大的功能之一就是支持创建在运用程序中反复运用的类,用户定义的类可添加程序中反复运用的类,用户定义的类可添加到表单控件工具栏中。用户自定义的类通常到表单控件工具栏中。用户自定义的类通常有以下功能:有以下功能:封装通用功能:为通用功能创建自定义类,封装通用功能:为通用功能创建自定义类,可以将它们的实例添加到表单中。例如表单可以将它们的实例添加到表单中。例如表单封锁按钮类、协助按钮类等。封锁按钮类、协助按钮类等。赋予运用程序一

34、致的外观和风格:比如创建赋予运用程序一致的外观和风格:比如创建了独特外观的文本框类,便可在运用程序一了独特外观的文本框类,便可在运用程序一切需求文本框的地方都运用这个类。切需求文本框的地方都运用这个类。1创建用户自定义类创建用户自定义类 下面经过一个实例讲述创建用户自定义类的步骤。下面经过一个实例讲述创建用户自定义类的步骤。【例【例7.1】运用类设计器创建一个用户自定义类,类名为】运用类设计器创建一个用户自定义类,类名为“记录指针挪动类。基类为命令按钮组,存储到记录指针挪动类。基类为命令按钮组,存储到c:P r o g r a m F i l e s M i c r o s o f t V i

35、 s u a l Studiovfp98commandgroup1.vcx类库中。类库中。操作步骤如下:操作步骤如下:1执行【文件】菜单中的【新建】命令,弹出执行【文件】菜单中的【新建】命令,弹出“新建新建对话框,选择对话框,选择“类单项选择按钮,弹出如图类单项选择按钮,弹出如图7.5所示的所示的“新建类对话框;新建类对话框;2在在“新建类对话框中指定新建类的类库、基类与类名。新建类对话框中指定新建类的类库、基类与类名。在“类名文本框用于指定类名;“派生于下拉列表框用于指定新生成类的基类;“存储于文本框用于指定新类库名或已有类库的名字,类库名可包含途径,假设未指出途径表示运用默许途径。3指定各

36、项内容后,单击【确定】按钮,指定各项内容后,单击【确定】按钮,翻开如图翻开如图7.6所示的所示的“类设计器窗口。类设计器窗口。4经过表单设计器控件工具栏添加相应的控件,设计经过表单设计器控件工具栏添加相应的控件,设计相应的属性与事件代码。本例中添加五个命令按钮。相应的属性与事件代码。本例中添加五个命令按钮。5属性设置:属性设置:“记录指针挪动类的记录指针挪动类的ButtonCount属性值设置为:属性值设置为:5 五个命令按钮的标题五个命令按钮的标题Caption属性分别设置为:第一个记录、属性分别设置为:第一个记录、前一个记录、后一个记录、最后一个记录、退出。如图前一个记录、后一个记录、最后

37、一个记录、退出。如图7.7所示。所示。“第一个记录按钮第一个记录按钮Command1的的Click事件代码为:事件代码为:go top This.Parentmand2.Enabled=.F.This.Parentmand3.Enabled=.T.This.Parentmand4.Enabled=.T.This.Parentmand5.Enabled=.T.ThisForm.Refresh“前一个记录按钮前一个记录按钮Command2的的Click事件代码事件代码为:为:skip 1 if bof()=MessageBox(已是第一个记录!已是第一个记录!,48,信息窗口信息窗口)This.E

38、nabled=.F.This.Parentmand1.Enabled=.F.Else This.Enabled=.T.This.Parentmand1.Enabled=.T.Endif This.Parentmand3.Enabled=.T.This.Parentmand4.Enabled=.T.This.Parentmand5.Enabled=.T.ThisForm.Refresh“后一个记录按钮后一个记录按钮Command3的的Click事件代码事件代码为:为:skip if eof()=MessageBox(已是最后一个记录!已是最后一个记录!,48,信息窗口信息窗口)skip-1 Th

39、is.Enabled=.F.This.Parentmand4.Enabled=.F.Else This.Enabled=.T.This.Parentmand4.Enabled=.T.Endif This.Parentmand1.Enabled=.T.This.Parentmand2.Enabled=.T.This.Parentmand5.Enabled=.T.ThisForm.Refresh “最后一个记录按钮最后一个记录按钮Command4的的Click事件代码为:事件代码为:go bottom This.Parentmand1.Enabled=.T.This.Parentmand2.Ena

40、bled=.T.This.Parentmand3.Enabled=.F.This.Parentmand5.Enabled=.T.ThisForm.Refresh“退出按钮Command5的Click事件代码为:ThisForm.Release2将类添加到工具栏将类添加到工具栏 用户自定义类完成后,即可以将其添加到表单控件工具栏中,然后经过运用该工具栏中的“查看类按钮来翻开定义的类。操作步骤:1选择【文件】菜单中的【新建】命令,翻开“新建对话框选择“表单单项选择按钮,单击【新建文件】按钮,新建一表单,如图7.8所示。2在“表单控件工具栏上单击【查看类】按钮,在弹出的菜单中选择【添加】命令,然后在

41、弹出的“翻开对话框中指定要添加的可视类库的文件名,如图7.9所示。单击【翻开】按钮,那么翻开表单控件工具栏如图7.10所示。3单击新添加的“记录指针挪动类按钮,在表单中创建“记录指针挪动类1控件。结果如图7.11所示。新添加类按钮3.类的编辑类的编辑 在在VFP中,用户可以修正用户自定义的类,也中,用户可以修正用户自定义的类,也可以删除类库中的类,或删除类库。可以删除类库中的类,或删除类库。(1)修正用户自定义的类修正用户自定义的类 假设要为用户自定义的类设置属性,编写事件假设要为用户自定义的类设置属性,编写事件代码或方法程序代码,或者是创建新的属性或代码或方法程序代码,或者是创建新的属性或方

42、法程序,都必需翻开类设计器来实现。要翻方法程序,都必需翻开类设计器来实现。要翻开类设计器,只需翻开一个可视类库,并选择开类设计器,只需翻开一个可视类库,并选择其中的一个类即可。其中的一个类即可。【例7.3】修正【例7.1】中创建的“记录指针挪动类。操作步骤如下:操作步骤如下:执行【文件】菜单的【翻开】命令,在执行【文件】菜单的【翻开】命令,在“翻开翻开对话框的文件类型列表框中选择可视类,从中选择对话框的文件类型列表框中选择可视类,从中选择类库名类库名Commandgroup1.vcx,单击【确定】按钮。,单击【确定】按钮。在弹出的在弹出的“翻开对话框中右边的列表框中选择翻开对话框中右边的列表框

43、中选择要修正的类要修正的类“记录指针挪动类,单击【翻开】按记录指针挪动类,单击【翻开】按钮。钮。在弹出的在弹出的“类设计器窗口中,选择要修正内容类设计器窗口中,选择要修正内容的按钮后,利用属性窗口修正相应的内容。的按钮后,利用属性窗口修正相应的内容。封锁类设计器窗口,选择保管修正。封锁类设计器窗口,选择保管修正。2删除类库中的一个类删除类库中的一个类 一个类库文件中可以包含多个类,要删一个类库文件中可以包含多个类,要删除类库中的某个类,可以用以下方法:除类库中的某个类,可以用以下方法:运用命令:运用命令:REMOVE CLASS OF 在工程管理器的在工程管理器的“类选项卡中选择指类选项卡中选

44、择指定类库中的一个类,单击【移去】按钮定类库中的一个类,单击【移去】按钮即可。即可。3删除类库 要删除类库只需将指定的类库文件删除即可。4为字段设置类为字段设置类 要在表单上创建控件有两种方法,一种是直接在要在表单上创建控件有两种方法,一种是直接在表单控件工具栏上选择控件后,在表单上单击即表单控件工具栏上选择控件后,在表单上单击即可。可。另一种方法就是在数据环境中拖动有关的字段到另一种方法就是在数据环境中拖动有关的字段到表单设计器窗口来产生控件。表单设计器窗口来产生控件。数据库表的每一个字段从数据环境拖动到表单后数据库表的每一个字段从数据环境拖动到表单后会自动生成一个控件,如将会自动生成一个控

45、件,如将XSK表的姓名字段拖表的姓名字段拖动到表单上会默许产生一个文本框,除运用默许动到表单上会默许产生一个文本框,除运用默许控件外,用户还可以经过设置产生其它控件。这控件外,用户还可以经过设置产生其它控件。这些设置是在数据库些设置是在数据库“表设计器窗口经过为字段表设计器窗口经过为字段指定类库和类实现的。指定类库和类实现的。【例【例7.4】设计】设计XSK表的构造,使得将表的构造,使得将XSK表的表的奖学金字段拖动到表单上后产生微调控件。奖学金字段拖动到表单上后产生微调控件。操作步骤:操作步骤:1在工程管理器窗口的在工程管理器窗口的“数据选项卡中选择数据选项卡中选择XSK表,然后单击右侧的【

46、修正】按钮,翻开表,然后单击右侧的【修正】按钮,翻开“表表设计器窗口,如图设计器窗口,如图7.12所示。所示。2在字段选项卡中的字段列表框中选择奖学金字段,在下面在字段选项卡中的字段列表框中选择奖学金字段,在下面的的“匹配字段类型到类选项组中的匹配字段类型到类选项组中的“显示类下拉列表框中显示类下拉列表框中选择选择Spinner,然后单击【确定】按钮。,然后单击【确定】按钮。3新建一表单,添加新建一表单,添加XSK表到数据环境,从数据环境中拖表到数据环境,从数据环境中拖动奖学金字段到表单中,即产生一个微调控件。如图动奖学金字段到表单中,即产生一个微调控件。如图7.13所示。所示。7.2.3 创

47、建工具栏创建工具栏 工具栏是一组图形方式的小按钮,单击后可以工具栏是一组图形方式的小按钮,单击后可以执行指定的一组命令。执行指定的一组命令。工具栏可以浮动在窗口中,也可以停放在工具栏可以浮动在窗口中,也可以停放在VFP主窗口的上部、下部或两边。他可以定制主窗口的上部、下部或两边。他可以定制VFP提供的工具栏,也可以用提供的工具栏,也可以用VFP提供的工具栏基提供的工具栏基类创建本人的工具栏。类创建本人的工具栏。1创建工具栏创建工具栏 要创建自定义工具栏,必需首先为它定义一个类。要创建自定义工具栏,必需首先为它定义一个类。VFP提供提供了一个工具栏基类,在此根底上,他可以创建所需求的类。了一个工

48、具栏基类,在此根底上,他可以创建所需求的类。操作步骤如下:操作步骤如下:1在在“工程管理器中,选定工程管理器中,选定“类选项卡;类选项卡;2单击【新建】按钮,弹出图单击【新建】按钮,弹出图7.14所示的对话框;所示的对话框;3在在“类名框中,键入新类的称号,如类名框中,键入新类的称号,如Mytools;4在在“派生于框中,选择派生于框中,选择“Toolbar,以运用工,以运用工具栏基类,或者单击三点按钮,选择其他的工具栏类;具栏基类,或者单击三点按钮,选择其他的工具栏类;5在在“存储于框中,键入类库名,保管创建的新存储于框中,键入类库名,保管创建的新类,或者单击三点按钮选择一个已有的类库;类,

49、或者单击三点按钮选择一个已有的类库;6单击【确定】按钮,将在单击【确定】按钮,将在“类设计器中显示新类设计器中显示新建的类;建的类;7运用表单控件工具栏向新建的工具栏中添加对象;运用表单控件工具栏向新建的工具栏中添加对象;8为各控件编写处置程序,这与为表单中控件编写为各控件编写处置程序,这与为表单中控件编写处置程序的方式一样。处置程序的方式一样。2将工具栏衔接到表单将工具栏衔接到表单 创建了工具栏类后,把新建的工具栏类作为一个类保管在某个类创建了工具栏类后,把新建的工具栏类作为一个类保管在某个类库中。库中。如今需求将工具栏衔接到某个表单中,使得在翻开表单的同时,如今需求将工具栏衔接到某个表单中

50、,使得在翻开表单的同时,也翻开工具栏。也翻开工具栏。为了向表单中添加新建的工具栏对象,那么必需先选择该工具栏为了向表单中添加新建的工具栏对象,那么必需先选择该工具栏所在的类库,选择方法是在所在的类库,选择方法是在“表单控件工具栏中选择【查看类】表单控件工具栏中选择【查看类】按钮,在弹出的菜单中单击【添加】,系统将翻开选择文件对话按钮,在弹出的菜单中单击【添加】,系统将翻开选择文件对话框,从中选择包含工具栏的类库,单击【翻开】后,包含该工具框,从中选择包含工具栏的类库,单击【翻开】后,包含该工具栏的类库如图栏的类库如图7.15所示。所示。单击工具栏中【查看类】按钮,会发现新建的单击工具栏中【查看

51、类】按钮,会发现新建的类库作为注册类显示在菜单中。单击类库作为注册类显示在菜单中。单击Mytools控件,并在表单中单击某个地方,由于未创建控件,并在表单中单击某个地方,由于未创建表单集,系统将给出如图表单集,系统将给出如图7.16所示的提示。所示的提示。单击【是】,他会发现新的工具栏参与到已有单击【是】,他会发现新的工具栏参与到已有的表单中,如图的表单中,如图7.17所示。所示。有一点值得留意,只能在表单集中添加工具栏,有一点值得留意,只能在表单集中添加工具栏,让工具栏与表单集中的各个表单一同翻开,而让工具栏与表单集中的各个表单一同翻开,而不能直接在某个表单中添加工具栏。不能直接在某个表单中添加工具栏。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!