350 likes | 528 Views
第 9 章 表单设计与应用. 9-1 面向对象编程基础 193 9-2 什么是表单 197 9-3 创建表单 197 9-4 定制表单 216 9-5 表单属性的设置 220 9-6 管理表单 221. 9-1 面向对象编程基础. 9-1-1 面向对象的概念 193 9-1-2 Visual FoxPro 的基类简介 194. 9-1-1 面向对象的概念. 1 .对象( Object ) 客观世界里的任何实体都可以被看作是对象。对象既可以是具体的物,也可以指某些概念。
E N D
第9章表单设计与应用 9-1 面向对象编程基础 193 9-2 什么是表单197 9-3 创建表单197 9-4 定制表单 216 9-5 表单属性的设置 220 9-6 管理表单 221
9-1 面向对象编程基础 9-1-1 面向对象的概念 193 9-1-2 Visual FoxPro的基类简介 194
9-1-1 面向对象的概念 1.对象(Object) 客观世界里的任何实体都可以被看作是对象。对象既可以是具体的物,也可以指某些概念。 从编程的角度来看,对象是一种将数据和操作过程结合在一起的数据结构,或者是一种具有属性(数据)和方法(过程和函数)的集合体。事实上,程序中的对象就是对客观世界中对象的一种抽象描述。
2.类(Class) 类是对一组对象的属性和行为特征的抽象描述,或者说是具有共同属性、共同操作性质的对象的集合。类和对象关系密切,但并不相同,类就像是一类对象的模板。有了类定义后,基于类就可以生成这类对象中的任何一个对象,这些对象虽然采用相同的属性来表示状态,但它们在属性上的取值完全可以不同,这些对象一般有着不同的状态,且彼此间相对独立。
在类的定义中,也可以为某个属性指定一个值,这个值将作为基于该类生成的每个对象在该属性上的默认值。通常,我们把基于某个类生成的对象称为这个类的实例。可以说,任何一个对象都是某个类的一个实例。在类的定义中,也可以为某个属性指定一个值,这个值将作为基于该类生成的每个对象在该属性上的默认值。通常,我们把基于某个类生成的对象称为这个类的实例。可以说,任何一个对象都是某个类的一个实例。
9-1-2 Visual FoxPro的基类简介 • 1.Visual FoxPro的基类 每个Visual FoxPro基类都有自己的一组属性、方法和事件。当扩展某个基类创建用户自定义类时,该基类就是用户自定义的父类,用户自定义类继承该基类中的属性、方法和事件,在程序设计中,可以使用CREATEOBJECT函数来直接生成基于某个类的对象。该函数的命令格式如下: CREATEOBJECT(<类名>[,<参数1>,<参数2>,……])
对象属性的方法访问以及对象调用的基本命令格式如下:对象属性的方法访问以及对象调用的基本命令格式如下: <对象引用>.<对象属性> <对象引用>.<对象方法>[(参数列表)]
2.容器与控件 Visual FoxPro中的类一般可分为两种类型:容器类和控件类。相应地,分别生成容器(对象)和控件(对象)。
3.事件 事件是对象可以识别和响应的行为与操作。事件可以由系统引发,如生成对象时,系统就引发一个Init事件,对象识别该事件,并执行相应的Init事件代码。事件也可以由用户引发,如用户单击程序界面上的一个命令按钮就引发了一个Click事件,命令按钮识别该事件并执行相应的Click事件代码。与方法集可以无限扩展不同,事件集是固定的,用户不能定义新的事件。
9-2 什么是表单 表单(FORM)是一种容器对象,它是一个或多个页面的集合,类似于标准窗口或对话框。表单内既可以包含命令按钮、文本框、列表框等各种控件,还可以包含在一个表单集中。表单是VFP中用于建立应用程序用户界面的最主要的工具之一。
VFP中的表单可分为以下3种类型: (1)子表单 (2)浮动表单 (3)顶层表单
9-3 创建表单 9-3-1 用表单向导创建简单表单 197 9-3-2 用表单设计器创建表单 204 9-3-3 数据环境设计器 214
9-3-1 用表单向导创建简单表单 1.简单表单的创建 【例9.1】在“项目管理器”中,用表单向导为数据表“学生情况表.DBF”创建单表表单,新表单主文件名为“JSJXXSDA”。
2.一对多表单的创建 【例9.2】在VFP系统主菜单下,用表单向导为数据表“学生情况表.DBF”和“学生选课表.DBF”,创建一对多表单,新表单文件名为“XSXKCJ.SCX”。
9-3-2 用表单设计器创建表单 表单设计器是VFP提供的一个操作简单、灵活方便的界面设计工具,它不但可以生成新的表单,而且还可以对任何表单进行修改和定制。 【例9.3】在VFP系统主菜单下,利用表单设计器设计一个包含3个“标签”控件和两个“命令按钮”控件的系统登录表单,新表单文件名为“登录.SCX”。
【例9.4】在VFP系统主菜单下,利用表单设计器为数据表“教师表.DBF”创建单表表单,新生成的表单文件名为“JSDA.SCX”,并在其中加入标签和命令按钮控件。【例9.4】在VFP系统主菜单下,利用表单设计器为数据表“教师表.DBF”创建单表表单,新生成的表单文件名为“JSDA.SCX”,并在其中加入标签和命令按钮控件。
9-3-3 数据环境设计器 1.打开“数据环境设计器” 打开表单设计器后,选择“显示|数据环境”命令选项,则打开了“数据环境设计器”窗口,如图9-36所示。
3.添加表或视图的关系 表或视图的关系应该在至少两个表或视图中产生。
4.编辑表或视图的关系 5.删除表或视图 当将表从“数据环境设计器”中删除时,与这个表有关的所有关系也将随之移去。
9-4 定制表单 9-4-1 操作表单中的控件 216 9-4-2 美化界面 217
9-4-1 操作表单中的控件 在VFP中,用户可以向表单中添加各种控件,如命令按钮、文本框、编辑框和复选框等。控件可以使表单更好、更灵活地完成数据输入、输出工作,甚至能够起到美化表单的作用。这里主要介绍如何添加、删除、设置表单中的控件。
1.添加控件 2.选中控件 选中单个控件,只需要在该控件上单击鼠标左键,使其四周出现黑框。如果想选中多个控件,可以采用以下的两种方法: 第一种方法:同时选定相邻的多个控件 第二种方法:同时选定不相邻的多个控件
3.删除表单控件 4.移动表单控件 5.改变表单控件的大小 6.复制表单控件
9-4-2 美化界面 1.对齐表单中的控件 利用布局工具栏上的按钮,很容易精确排列表单上的控件。例如,可能想使一组控件水平对齐或垂直对齐,或使一组相关控件具有相同的宽度或高度。 要对齐表单中控件,可先选定一组控件,然后在“布局”工作栏上选择一个布局按钮。或者希望在屏幕上精确地定位控件,可以从主菜单选择“显示|显示位置”命令,此时在“表单设计器”窗口底部的状态栏上会显示选定控件的坐标和度量单位。
2.改变文本的字体和大小 使用“属性”窗口中的字体属性,可以更改表单中所加控件显示文字的字体和大小。与字体相关的属性有许多,例如FontName、FontSize和FontBold等。 3.向表单中添加形状和线条 可以向表单中添加形状和线条以增加表单的美观程度。例如,把几组控件用分隔线分离开,或为隔离它们而把框中的一组相关控件包围起来。
4.向表单中添加图形 在表单控件工具栏中利用“图像”按钮,可以向表单中添加图片对象。 5.设置表单的前景色和背景色 在VFP中,可以使用ColorSource属性或使用调色工具栏改变表单和其中控件的前景或背景颜色。
9-5 表单属性的设置 9-5-1 使用“属性窗口”设置表单的属性220 9-5-2 使用程序设置表单的属性 220
9-5-1 使用“属性窗口”设置表单的属性 操作步骤如下: (1)在“表单设计器”中,选择“显示|属性”命令,弹出“属性”窗口。 (2)在“属性”窗口中,从属性和事件列表选择一个属性。例如表单的“Caption”属性。 (3)在属性设置框中,为选中的属性输入或选择需要的设置。如果属性要求输入字符值,不必用引号将这个值括起来。只读属性,例如对象的Class属性,在属性窗口中以斜体显示。
9-5-2 使用程序设置表单的属性 在程序运行时,可以通过程序语句来动态地对表单的属性进行设置和修改。 在程序中用以下的语句来设置: Parent.Object.Property=Value
9-6 管理表单 9-6-1 表单的保存 221 9-6-2 表单的运行221
9-6-1 表单的保存 在运行表单之前需要保存表单。如果在未保存表单之前就运行这个表单或关闭表单设计器,VFP将提示是否保存已做过的修改。 1.保存表单的操作 2.将表单保存为HTML文件的操作
9-6-2 表单的运行 在保存表单之后,可以运行该表单。运行表单的操作方法有多种。 【例9.5】运行表单“JSJXXSDA.SCX” 方法一:在“项目管理器”对话框中,运行表单。
方法二:在“表单设计器”窗口中,运行表单“JSJXXSDA”。方法二:在“表单设计器”窗口中,运行表单“JSJXXSDA”。
方法三:用命令方式运行表单。利用以下的命令格式:方法三:用命令方式运行表单。利用以下的命令格式: DO FORM <表单文件名>