第九.十章 VFP面向对象的程序设计(表单设计)
要点:面向对象程序设计的基本概念、表单的控件对象的属性和程序代码设计 1. 面向对象程序设计方法
1)面向对象(OOP)程序设计的概念:是将数据与过程(方法、事件)封装在对象中,围绕对象进行程序设计. 2)对象
(1)概念:是数据和操作数据的一组代码(程序)或过程的封装,将封装体看成是一个实体(对象)。VFP 的对象有:窗口(表单)、表格、命令按钮等(两类:容器对象、控件对象)。 (2)对象的引用:(程序设计中引用的语法规则) ●绝对引用:格式:对象名1.对象名2
例:表单名:FORM1,命令按钮名COMMAND1,命令按钮引用: FORM1. COMMAND1.CAPTION=”确定” ●相对引用:This 该对象本身 Thisform 该对象本身所在表单 Parent 该对象本身的直接容器 上例:命令按钮引用:
THISFORM. COMMAND1.CAPTION=”确定” THIS.CAPTION=”确定”
THIS.parent. COMMAND2.CAPTION=”退出”
说明:一个表单文件含一个表单,表单对象名是表单文件名,MYForm是“MYForm.scx”
一个表单文件含多个表单(表单集),表单对象名是表单名(name下的名字) 3)类
(1) 概念:一组对象的抽象定义,一个类的对象含有某些共同的行为及特性
(2) 类的使用:系统类(基类(控件类、容器类)、基础类、向导类)、用户类(用户设
计)
4)属性
(1)概念:对象特征描述,如:大小、颜色、位置等。 (2)表单常用属性: 属性 说明 Caption 表单的标题 Name 表单对象名
Top 表单顶部到VFP主窗口距离 Height 表单的高 Width 表单的宽 重点:区别Caption与Name。 (3)属性的设计及引用
①在属性窗口中设计(全部、数据、方法程序、布局、其他) ②在程序代码中引用格式:对象名.属性名=值(属性代码)
例:THISFORM.COMMAND1.Caption=”确定”
THISFORM.COMMAND1.Visible=.T. THISFORM.COMMAND1.Height=30 THISFORM.COMMAND1.Width=70
注意:习惯上静态属性用属性窗口,动态属性用事件代码。 5)方法
(1)概念:使对象作出响应的操作
程序代码 (2)表单常用方法程序 方法 说明 Line 表单上画线 Hide 隐藏表单 Show 显示表单
Refresh 刷新表单上控件的值 Release 退出表单
(3)调用方法:格式:对象名.方法名(方法代码) 例:释放当前表单:thisform.release
表单画线: thisform.line(x1,y1,x2,y2) 6)事件
(1)概念:由用户或系统激活的特定动作,如鼠标的单击、双击等。 (2)VFP常用事件 事件 说明
Click 鼠标单击时发生 DbClick 鼠标双击时 Init 对象的初始化设置时 KeyPress 用户按下并离开键盘时 InterActiveChange 改变控件值时发生 RightClick 鼠标右击时 7)事件驱动编程
(1)概念:选择对象的事件,在事件下编写程序代码。用户操作对象(事件发生),事件的过程代码自动执行。
编程方法:●在表单双击对象/选过程中事件/编写代码 ●属性框(下拉列表)选对象/选过程方法/编写代码 注:时间的代码窗口包括: 1) 属性代码 2) 方法代码
3) 所有的VFP命令代码(九十以前的) 2.表单设计与运行
1)表单的概念:是Windows的窗口,是一个容器对象,包容各种控件、数据环境及相关程
序。
2)表单设计步骤:
创建表单、设置数据环境、添加控件、设置对象的属性或方法、编写程序代码。 (1)表单的创建(项目管理器、文件菜单、程序、向导、CREAT FORM) ①表单向导:文件/新建/表单/向导 (快捷、形式单一) ②表单设计器:文件/新建/表单/新建文件(形式多样、常用) 表单设计器相关组成:(
演示)
表单界面、数据环境、表单控件、表单设计工具栏、属性窗口 (2)设置数据环境
概念:表单所要操作的数据源(如表随表单一起打开)。 包括:数据库、自由表、视图、关系
方法:表单空白处击右键/数据环境