计算机Visual FoxPro第十、十一章面向对象程序设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第11章面向对象程序设计§11.1面向对象程序设计概述§11.2表单的基本操作§11.3常用控件§11.1面向对象程序设计概述Object-OrientedProgramming(简称OOP技术)面向对象程序设计。在OOP中,对象是构成程序的基本单位和运行实体。本小节将阐述对象、类以及它的属性、事件、方法程序等概念和基本操作。一、基本概念1、对象VFP中所研究的对象,是现实世界中具体的或概念性的事物在计算机中抽象的模型化的表示。把现实世界中事物的数据和行为,抽象成对象的属性和操作来描述,通过定义接口来表达对象间的关系,从而把现实世界中的事物用一个动态的对象模型来表示。2、类类是对象的原型,是对一组具有公共方法和一般属性的对象的抽象表示。对象是构成程序的基本单位,是运行的实体,而对象是类的实例化。类的基本特性是封装性、继承性和多态性。封装性是指将对象的数据和操作包含在对象中的特性。继承性是从一种现有的、更普遍的类型创建出一种新的、更具体的类型的特性。多态性意味着被定义的方法可以用于多个类。在VFP中,基类又分为控件类和容器类两种。(1)控件类控件是表单上显示数据和执行操作的基本对象。(2)容器类容器是可以容纳其它对象的对象任何对象都具有自己的特征和行为。对象的特征由它的各种属性来描绘,对象的行为则由它的事件和方法程序来表达。3、属性(1)对象的属性对象的属性用来表示它的特征,以命令按钮为例,其位置、大小、颜色、以及该钮面上是显示文字还是图形等状态,都可用属性来表示。(2)对象的属性窗口该窗口能显示当前对象的属性、事件和方法程序,并允许用户更改属性,定义事件代码和修改方法程序的功能。属性窗口自上至下依次包括对象组合框、选项卡、属性设置框、属性列表和属性说明信息等5个部分对象组合框选项卡属性设置框属性列表框属性说明信息4、事件事件(Event)泛指由用户或系统触发的一个特定的操作。一个对象可以有多个事件,但每个事件都是由系统预先规定的。一个事件对应于一个程序,称为事件过程。(1)事件驱动工作方式事件一旦被触发,系统马上就去执行与该事件对应的过程。待事件过程执行完毕后,系统又处于等待某事件发生的状态,这种程序执行方式明显地不同于面向过程的程序设计,称为应用程序的事件驱动工作方式。由上可知,事件包括事件过程和事件触发方式两方面。事件过程的代码应该事先编写好。事件触发方式可细分为3种:由用户触发,例如单击命令按钮事件;由系统触发,例如计时器事件,将自动按设定的时间间隔发生;由代码引发,例如用代码来调用事件过程。(2)为事件(或方法程序)编写代码编写代码先要打开代码编辑窗口,打开某对象代码编辑窗口的方法有多种:(1)双击该对象。(2)选定该对象的快捷菜单中的代码命令。(3)选定显示菜单的代码命令。5、方法程序方法程序是VFP为对象内定的通用过程,能使对象执行一个操作。方法程序过程代码由VFP定义,对用户是不可见的。但可以修改,用户可以通过添加代码增加方法程序的功能。(1)Refresh方法程序格式:Object.Refresh功能:重画表单或控件,并刷新所有的值。(2)Release方法程序格式:Object.Release功能:从内存释放表单。例如表单有一个命令按钮,如果希望单击该命令按钮时关闭表单,就可以将该命令按钮的Click事件代码设置为Thisform.Release。二、对象引用在面向对象的程序设计中常常需要引用对象,或引用对象的属性、事件与调用方法程序。1、对象引用规则(1)通常用以下引用关键字开头:THISFORMSET表示当前表单集THISFORM表示当前表单THIS表示当前对象(2)引用格式:引用关键字后跟一个点号,再写出被引用对象或者对象的属性,事件或方法程序。例如:THIS.CaptionTHISFORM.CIS(3)允许多级引用,但要逐级引用。THISFORM.Command1.CaptionTHIS.Command1.Click§11.2表单的基本操作一、表单的建立1、利用表单设计器建立2、利用表单向导建立二、表单的运行DOFORM表单文件名扩展名:.SCX三、表单的属性设置P197四、表单的事件与方法P1991.Init事件:创建表单时触发该事件,从而执行为该事件编写的代码。Init代码通常用来完成一些关于表单的初始化2.Destory事件:释放表单时触发该事件,该方法代码通3.Click事件:用鼠标单击对象时触发该事件,从而执行为该事件编写的代码。4.InteractiveChange事件:在使用鼠标或键盘更改控件的值时发生。在每次交互更改对象时,都要发生此事件。5.Show和Hide是一对方法,Show使表单可见,而Hide则是隐藏表单。6.Release方法从内存中释放表单。7.Refresh方法刷新表单数据。五、表单的数据环境每一个使用了数据表的表单都包括一个数据环境。数据环境是一个容器对象,它用来定义与表单相联系的数据实体(表、视图)的信息及其相互联系。§11.3常用控件表单中经常包含许多控件。通过VFP的表单控件工具栏可创建的控件大致可分为5类:(1)输出类:标签,图象,线条,形状。(2)输入类:文本框,编辑框,微调控件,列表框,组合框。(3)控制类:命令按钮,命令按钮组,复选框,选项按钮组,计时器。(4)容器类:表格,页框,Container容器。(5)连接类:ActiveX控件,ActiveX绑定控件,超级链接。选定对象按钮查看类标签编辑框命令按钮组复选框列表框表格计时器ActiveX控件线条容器超级链接生成器锁定文本框命令按钮选项按钮组组合框微调控件图象页框ActiveX绑定控件形状分隔符按钮锁定§11.3.1输出类控件数据输出包括文本和图形的显示,输出类控件用于在表单上设置文本和图形。一、标签(Label)标签控件是一种能在表单上显示文本的输出控件,常用作提示或说明,被显示的文本在Caption属性中指定,称为文本标题。标签标题的修改:(1)在属性窗口修改该控件的Caption属性。(2)在事件代码中写入命令THISFORM.LABEL1.Caption=属性值(一)标签的属性1、Caption属性指定标签的标题文本。表单、复选框、选项按钮、命令按钮等都具有Caption属性。注意:在设计代码时,应该用Name属性值(对象名称)而不能用Caption属性值来引用对象。2、Aignment属性指定标题文本在控件中显示的对齐方式。设置值说明0默认值左对齐,文本显示在区域的左边1右对齐,文本显示在区域的右边2中央对齐,将文本居中排放。该属性在设计和运行时均可用,还适用于文本框、复选框、选项按钮等控件。3、AutoSize属性是否使标签区域自动调整为与标题文本大小一致。默认值为.F.4、WordWrap属性指定AutoSize属性为.T.的标签控件是沿纵向扩展还是沿横向扩展(是否换行)。默认值为.F.。5、BorderStyle属性指定对象的边框的样式。默认值为0(无),1为固定单线。6、BackStyle属性指定对象的背景是否透明。默认值为1不透明。二、图像(Image)、线条(Line)与形状(Shape)图象、线条与形状3种控件可用来在表单上设置图形。(一)图象利用图象控件的Picture属性可在表单上创建图象,图象文件的类型可为.BMP,.ICO,.GIF和.JPG等。创建图象的步骤如下:在表单上创建一个图象控件在属性窗口选定Picture属性,并通过文本框右侧的对话按钮选定一个图象,该图象即显示在图象控件处。Picture该属性在设计和运行时都可用。图象控件创建后,表单运行时将通过执行代码来显示图象。例如要显示一个狐狸头,可在某一事件过程中设置代码:THISFORM.Imagel.Picture=c:\Vfp\fox.bmp(二)线条线条控件用于在表单上画各种类型的线条,包括斜线、水平线和垂直线。1.斜线(1)线条控件创建时,默认自控件区域的左上角到右下角显示一条斜线。(2)斜线倾斜度由控件区域宽度与高度来决定,可拖动控件区域的控制点来改变控件区域的宽度与高度,或改变宽度属性Width与高度属性Height。(3)斜线走向用Lineslant属性来指定,键盘字符\表示左上角到右下角,而/表示右上角到左下角。2.水平线与垂直线要显示水平线或垂直线,可通过调节线条控件区域使对应边重合。(三)形状形状控件用于在表单上画出各种类型的形状,包括矩形、圆角矩形、正方形、圆角正方形,椭圆或圆。形状类型将由Curvature,Width与Height属性来指定。形状控件创建时若Curvature属性值为0,Width属性值与Height属性值也不相等,显示一个矩形。若要画出一个圆,应将Curvature属性值设置为99,并使Width属性值与Height属性值相等。注意:(1)图象、线条和形状控件只能在设计时设置,但设置好后无论在设计时还是运行时都可改变其属性。(2)若形状控件遮住了某一其它控件,则无论在设计时还是运行时,对被遮控件击鼠标键均将无效。此时应将形状控件置后,可使用格式菜单的置后命令,或布局工具栏的置后按钮来设置。例1:制作如(图1)所示表单。设置:(1)设置表单名称为“Form1”,标题为“图形变换”。(2)设置选项按钮组的名称为“Optiongroup1”,选项按钮个数为2。设置选项按钮组的选项按钮(Option1)的标题为“圆”。设置选项按钮组的选项按钮(Option2)的标题为“方”。(3)设置形状控件的名称为“Shape1”。要求:(1)表单标题为'图形变换';(2)单击'圆'单选按钮,图形变为圆;(3)单击'方'单选按钮,图形变为方形;(4)表单整体效果美观,比例合适。基本属性:FORM1.HEIGHT=182FORM1.LEFT=62FORM1.TOP=27FORM1.WIDTH=325例1:答题要点:将代码写到选项按钮组的各自按钮的Click事件中:1、“圆”选项按钮的Click事件代码Thisform.Shape1.Width=Thisform.Shape1.HeightThisform.Shape1.Curvature=992、“方”选项按钮的Click事件代码Thisform.Shape1.Width=60Thisform.Shape1.Height=60Thisform.Shape1.Curvature=0或将代码写到选项按钮组的Click事件中:IFThisform.Optiongroup1.Value=1Thisform.Shape1.Width=Thisform.Shape1.HeightThisform.Shape1.Curvature=99ElseThisform.Shape1.Width=60Thisform.Shape1.Height=60Thisform.Shape1.Curvature=0Endif§11.3.2输入类控件本节讨论文本框、编辑框、列表框、组合框和微调控件等5个控件。除列表框只能以选项方式选用数据外,其它控件都可用键盘直接输入数据。§11.3.2.1文本框(Text)文本框控件是一个基本控件,用户利用它可以在内存变量、数组元素或非备注型字段中输入或编辑数据。所有标准的VFP编辑功能,如剪切、复制和粘贴,在文本框内都可以使用。文本框一般包含一行数据。文本框可以编辑任何类型的数据。一、文本框的值Value属性用于指定文本框的值,并在框中显示出来。Value值既可在属性窗口中输入或编辑;也可用命令来设置,例如THIS.Value=“VFP”。Value值可为数值型、字符型、日期型或逻辑型4种类型之一,例如0,(无),{},.F.。其中(无)表示字符型,并且是默认类型。若Value属性已设置为其它类型的值,可通过属性窗口的操作使它恢复为默认类型。即在该属性的快捷菜单中选定“重置为默认值”命令,或将属性设置框内显示的数据删掉。在向文本框键入数据时,如遇长数据能自动换行。但只要键入回车符,输入就被VFP终止。也就是说,文本框只能供

1 / 84
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功