面向对象程序设计_第1页
面向对象程序设计_第2页
面向对象程序设计_第3页
面向对象程序设计_第4页
面向对象程序设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本讲内容 面向对象程序设计 1面向对象程序设计基本概念 1.对象 VFP中,常用的基类对象共有21个,分为控件类与容器类两种。 (1)控件:是表单上显示数据和执行操作的基本对象,例如:命令按钮、文本框、标签等。 (2)容器:是可以容纳其他对象的对象。例如:表单集、表单、选项按钮组、命令按钮组等。 2.属性 对象的属性用来表示对象的特征、状态。 3.方法 对象的方法是对象内定的通用过程,能使对象执行一个操作。 4.事件 事件是一种预先定义的好的特定动作,可由用户或系统触发。 5.事件驱动的工作方式 某事件一旦被触发,系统就去执行该事件对应的过程,当然事件过程的代码需要用户事先编写好;过程执行完毕

2、,则系统又处于等待状态。2容器能包含的对象表单集表单、工具栏表单页框、表格、任何控件页框页面页面表格、任何控件表格表格列表格列标头对象、除表单、表单集、工具栏、计时器和列对象以外的对象选项按钮组选项按钮命令按钮组命令按钮工具栏任何控件、页框、容器Container容器任何控件事件触发时机事件触发时机Load创建对象前MouseUp释放鼠标键时Init创建对象时MouseDown按下鼠标键时Activate对象激活时MouseMove拖动鼠标时Gotfocus对象得到焦点时KeyPress按下并释放某键盘键时Click单击鼠标左键时Valid对象失去焦点前DblClick双击鼠标左键时LostF

3、ocus对象失去焦点时InteractiveChange当用户通过键盘或鼠标改变一个控件的值时Unload释放对象时 Vfp部分常见事件列表 容器及包含的对象 3 表单设计器的工具 1.表单设计器的功能与特点: (1)创建表单及表单上的各个对象。 (2)修改已有的表单。 (3)操作方便与可视化。 2.表单设计工具 可供表单设计使用的各要素与工具: (1)表单设计器窗口与表单窗口:多数设计工作将在表单窗口中完成。 (2)属性窗口:可以完成对象属性的设置与修改。 (3)代码编辑窗口:供用户编写事件或方法的程序代码。 (4)各种工具栏 (5)数据环境设计器窗口:为表单创建或修改数据环境。 (6)快捷

4、菜单:不同对象有不同快捷菜单帮助完成经常性工作。 4表单设计器 5 1.打开表单设计器 2.设置数据环境 (1)数据环境概念 数据环境泛指定义表单或表单集使用的数据源,可以是表、视图和表间关系。 (2)数据环境设计器打开 打开数据环境设计器可使用表单快捷菜单的“数据环境”命令,或选定“显示”菜单的数据环境命令。 (3)数据环境设计器快捷菜单与数据环境菜单 数据环境菜单提供了几个命令,具有查看和修改数据环境的功能 添加命令 移去命令 浏览命令 例题数据环境的设置: 选定表单快捷菜单的“数据环境”命令以打开数据环境设计器。 选定“添加表或视图”对话框的STAFF表,选定“添加”按钮。 6 3.对象

5、的添加 在VFP中实现对象创建的主要工具是表单控件工具栏。 (1)表单控件工具栏 (2)对象的创建 (3)字段映象 字段映象:指当用户打开数据环境设计器窗口,选定表中的任一字段,将其拖至表单窗口中释放,将在对应位置产生两个对象,一个是标签对象,用来显示字段名或字段标题;另一个对象类型则取决定于字段类型,字符型、数值型、日期型等用文本框对象表示,逻辑型用复选框表示,备注型用编辑框表示,通用型用ActiveX绑定控件表示。而且该对象与字段数据自动实现数据绑定。 所谓数据绑定是指将对象的值与某个数据源联系在一起。这样对象的值便与数据源的值相一致,当对象的值被修改也就意味字段的值被修改,反之也一样。

6、7对象的添加: 利用字段映象功能往表单逐个添加字段对象。 单击表单控件工具栏的命令钮按钮,单击表单的对应位置。 (4)四个辅助按钮 选定对象按钮按钮锁定按钮查看类 生成器锁定按钮 表单控件工具栏选定对象文本框命令钮选项按钮组组合框图象Activex绑定控件(oleboundcontrol)分隔符按钮锁定微调控件页框形状查看类标签编辑框命令按钮组复选框列表框表格计时器Activex控件(olecontrol)线条容器超级链接生成器锁pg定定8 4.调整控件的位置 5.设置对象的属性 属性窗口如图所示,包括对象组合框、选项卡、属性设置框、属性列表框、属性说明信息。属性窗口的组成属性列表框属性设置框

7、选项卡对象组合框属性说明信息9 6.事件代码的编写 编写事件代码先要打开代码编辑窗口,打开某对象代码编辑窗口的方法有很多种,具体如下: 方法1:双击该对象。 方法2:选定该对象的快捷菜单的“代码”命令。 方法3:选定“显示”菜单的“代码”命令。 例题事件代码编写:Command1的Click事件代码编写如下: IF RECNO()1 SKIP -1 THISFORM.REFRESH ELSE MESSAGEBOX(本条记录是首记录!) ENDIF 10 7.保存表单 表单设计或修改完毕要存盘,存盘方法如下: 保存表单而不退出表单设计器:选择“文件”菜单“保存”命令,若是新创建的表单要输入文件名

8、。 保存表单并退出表单设计器:按Ctrl+W键或单击表单设计器的关闭按钮。若是新创建的表单要输入文件名。 表单文件保存后,将产生扩展名为.SCX的表单文件及扩展名为.SCT的表单备注文件。 8.执行表单 执行表单有多种方法,具体如下: 方法1.表单设计器未关闭时,表单快捷菜单的“执行表单”命令可运行表单。 方法2.用命令DO FORM 表单名 方法3.在项目管理器中选定要执行的表单选定“运行”按钮。 11 事件代码编写 VFP的事件代码由VFP命令、属性设置语句、方法与事件的调用语句构成。 12在容器分层结构中引用对象 1.对象的容器层次 VFP的对象分为容器类和控件类,VFP规定,在容器分层

9、结构中引用对象必须提供对象的地址,即指明它相对于容器分层结构的关系。图1是一种可能的嵌套。 2.对象相对引用规则 VFP为了方便在容器分层结构中引用对象,提供并规定了一些关键字及引用格式。 (1)引用关键字(图2) 3.引用格式 引用格式:引用关键字.对象名.对象的属性、事件或方法程序 (1)引用可以是单级的。例:THIS.Caption (2)引用也可以是多级的,但要逐级引用。例:THISFORM.Text1.Caption (3)控件也可引用包含它的容器。例:THIS.PARENT.Caption13关键字引用THIS引用该对象THISFORM引用包含该对象的表单THISFORMSET 引

10、用包含该对象的表单集PARENT引用包含该对象的直接容器容器嵌套层次 引用关键字 14编程设置属性和调用方法程序 1.编程设置对象属性 设置格式:对象名.属性名=设置值 例:设计如图所示表单,单击“值交换”命令按钮可实现两文本框内值的交换,单击“背景交换”命令按钮可实现两文本框背景颜色的交换。表单15 (1)创建表单:FORM1 (2)添加控件:往FORM1中添加两个标签控件、两个文框控件、两个命令按钮控件。 (3)按表所示为各控件对象设置属性。 (4)编写命令按钮的事件代码 (5) 存盘并运行。16 2.编程调用对象方法程序 调用格式:格式:对象名.方法程序名(参数1,参数2,) (1)Cl

11、s方法 格式:OBJECT.Cls 功能:清除表单上的图形或文本。 (2)Print方法 格式:OBJECT.Print(cText) 功能:在表单上打印字符串。 例:建立如图7.8所示表单,单击“产生3个随机数”按钮,会在表单上显示3个0至1之间的随机数,单击“清除”按钮,将清除表单上显示的数据。 (rand()17 1.事件序列 VFP是事件驱动的工作方式,VFP的事件或者由用户动作触发或者由系统触发,用户的一个动作可能触发一个或多个事件。这些事件的发生有一定的次序。 例:表单界面如图,有一个命令钮Command1与一个文本框Text1,在表单数据环境中有表STAFF.DBF,用户的动作如

12、下 动作1:运行表单Form1; Form1.Load() Form1.dataenvironment.cursor1.Init() Form1.dataenvironment.Init() Form1.text1.Init() Fmand1.Init() Form1.Init()18Form1.Activate()Form1.text1.When()Form1.GotFocus()Form1.text1.GotFocus()Form1.Activate()动作2:在Text1中输入字符AB;Form1.text1.KeyPress(65, 0) &即AForm1.text1.Interact

13、iveChange()Form1.text1.KeyPress(66, 0) &即BForm1.text1.InteractiveChange()动作3:用户单击Command1关闭表单;Form1.text1.Valid()19Fmand1.When()Form1.text1.LostFocus()Fmand1.GotFocus()Fmand1.Click()Fmand1.Valid()Fmand1.When() 表单关闭和释放对象之后,将发生的事件,其次序正好与动作1中的事件次序相反。 Form1.Destroy()Fmand1.Destroy()Form1.text1.Destroy()

14、Form1.Unload()Form1.dataenvironment.AfterCloseTables()Form1.dataenvironment.Destroy()Form1.dataenvironment.cursor1.Destroy() 20 2.为事件指定代码的位置 从上例可知,事件发生时,若没有与之相关联的代码,不会发生任何操作。 3.焦点(Focus) 在上例中有许多的事件发生都与焦点有关 4.TAB键次序 在表单运行时,用户可以使用TAB键来移动表单内光标的位置。所谓TAB键次序,就是按TAB键时光标经过表单中控件的顺序。21 用户自定义属性和方法程序 1.用户定义属性 针对表单和表单集对象 , VFP允许用户向它们添加自定义的属性,用户自定义属性类似于变量。用户为某个表单定义的属性其作用范围就是该表单,其作用相当于在表单中定义的全局变量;用户在表单集中定义的属性其作用范围就是该表单集。 自定义属性分为变量属性和数组属性两种。 1.变量属性 (1)变量属性的创建 选定“表单”菜单的“新建属性”命令以

温馨提示

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

评论

0/150

提交评论