资源预览内容
第1页 / 共82页
第2页 / 共82页
第3页 / 共82页
第4页 / 共82页
第5页 / 共82页
第6页 / 共82页
第7页 / 共82页
第8页 / 共82页
第9页 / 共82页
第10页 / 共82页
亲,该文档总共82页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Visual FoxPro程序设计教程,第6章 表单,表单是VFP创建应用程序与应用程序界面的重要途径之一,它将可视化操作与面向对象的程序设计思想有机结合在一起。表单设计器是设计表单的工具,它提供了设计应用程序界面的各种控件、相应属性、事件。它运用了面向对象的程序设计和事件驱动机制,使开发者能直观,方便,快捷的完成应用程序的设计与界面设计的开发工作。,6.1 面向对象程序设计,面向对象的程序设计思想是将事物的共性,本质内容抽象出来封装成类。VFP又将软件开发常用的功能抽象封装成标准类,开发者用类定义所需对象,通过对对象的属性设置,对事件的编程完成程序设计,VFP还提供了自定义类及面向对象的其他完整机制与功能。,6.1.1 对象与属性,1、对象 对象是类的实例化,是客观存在的具体事物,VFP标准类中有表单类,控件类等。具体的一个表单就是表单对象。 2、属性 属性是描述对象的静态特征。如表单的颜色,标题,名称等。常用的表单属性如表6.1所示。,表6.1 常用表单属性,6.1.2 事件与方法,1、事件:描述对象的动态行为,它是由系统预先定义好的,由用户或系统发出动作,用对象来识别,用户可编程对此进行响应。表6.2所示是表单设计器提供的常用事件。,2、方法:与对象相关的过程,是对象能执行的操作。方法分为两种:一种为内部方法,另一种为用户自定义方法。内部方法是VFP预先定义好的方法,供用户使用或修改后使用。表6.3给出常用的方法。,表6.3 常用方法,3、对象的引用规则,(1)引用形式 对象对属性、文件、方法的引用是用点“.”运算符。 形式:对象.属性|方法|事件 说明:对象若有包含与被包含关系,可以从外层用“.”引用到内层对象。如在后面要介绍的命令按钮Command1,对它的Caption属性的引用可以写成:ThisForm.Command1.Caption=“确定”,这个意思是设置当前表单中的Command1按钮的Caption属性为确定。ThisForm代表当前表单。 (2)对象在引用中常使用的关键字 如表6.4所示。,(3)容器类,在表单中有包含与被包含关系的对象,能包含其他对象的对象称为容器对象,容器对象的类称为容器类,在VFP中常用的容器类如下表所示。,6.2 用表单向导设计表单,表单向导是通过与用户人机交互向导,完成对表进行浏览,编辑等基本操作界面的自动生成。表单向导为单表建立的表单称单表表单,为多表建立的表单称多表表单。,6.2.1 建立单表表单6.2.2 建立多表表单,1、建立表单 2、执行表单 3、编辑表单,6.3 表单设计器,用表单向导设计表单,固然简单方便又不需要编写代码,但表单向导设计出的表单是有一定的固定模式,功能也有限。如果想设计无固定模式,多功能的表单,表单向导是无法实现的。VFP提供了表单设计器这个面向对象编程的可视化工具,用以满足开发者设计风格各异,功能齐全的表单。,6.3.1 表单设计器的环境,1、打开表单设计器 (1)用界面方式打开 (2)用命令方式打开 格式:MODIFY FORM |? 功能:打开表单设计器,创建或修改由表单名指定的表单。 说明:无选项或选?,将出现打开对话框,选一个表单或输入一个表单名,输入的表单名如果不存在则创建新的表单,如果存在则对原表单进行修改。,2、表单设计器环境,(1)表单设计器工具栏 1)设置Tab键次序 2)数据环境 3)属性窗口 4)代码窗口 5)表单控件工具栏 6)调色板工具栏 7)布局工具栏 8)表单生成器 9)自动格式,例6.1 设计表单。当单击表单上的文字“欢迎新同学”时文字变为“学习要勤奋”,再双击就又恢复成以前的文字。单击退出按钮释放表单。,6.3.2 控件的操作与布局,1、控件操作 (1)在表单中放置控件 (2)控件在表单中的复制与粘贴 (3)调整大小 (4)删除控件 (5)在表单中放置多个同类的控件 2、控件的布局,6.3.3 数据环境,数据环境要在表单打开的情况下使用,当表单关闭或释放时它就关闭。 1、打开数据环境设计器 2、向数据环境设计器中添加表或视图 3、数据环境中关系的设置 4、从数据环境设计器中移去表或视图 5、向表单中添加字段,例6.2 设计一个表单,它可以对表进行浏览、编辑、并可以释放表单(即退出),界面如下图所示,6.3.4 设置属性与编辑代码,1、设置属性 (1)在属性窗口的对象下拉列表框中选要设置属性的对象 (2)在属性列表框中找到要设置的属性并选中该属性 (3)在属性设置框中输入具体设置的属性值 1、编辑代码 (1)打开代码窗口的方法 1)单击表单设计器工具栏中的代码窗口按钮 2)双击表单工作区任意位置 (2)在对象下拉列表框中选要编辑代码的对象 (3)在过程下拉列表框中选要编辑的代码对象的事件或方法 (4)在代码编辑区中输入相应的代码 (5)关闭代码编辑窗口,有两种方法; 1)单击表单设计器工具栏中的代码窗口 2)单击代码窗口中的关闭按钮,6.3.5 表单的修改与运行,1、表单的修改 (1)打开表单设计器 (2)对表单进行修改 1)若对表单中已有控件对象修改,方法与设置属性和编辑代码相同。 2)如果在表单中创建新的控件对象,可在表单控件工具栏中选中控件放到表单中,然后对该对象进行属性设置和代码编辑。 3)若要删除表单中的控件,选中该控件按Del键。 2、表单的运行 格式:DO FORM 功能:执行由表单名指定的表单。,6.4 常用表单控件6.4.1 标签控件,标签控件属于输出类控件,用于显示文本。它的常用属性如表6.6所示。,例6.3 计算1+2+3+100的和,6.4.2 命令按钮,命令按钮用来触发事件,完成特定的功能 ,常用属性如表6.7所示。,例6.4 计算10!,6.4.3 命令组,1、常用属性 命令组是容器控件,常用属性如图6.8所示。,2、命令组生成器 3、编辑命令组,例6.5 将6.2题用命令组做,6.4.4 文本框控件,文本框控件是基本控件,可以输入,编辑数据。它可以处理除备份字段类型的数据,一般包含一行数据,在接受字符型数据时,最多255个字符。 表6.9 文本框常用属性,例6.6 求n!,6.4.5 编辑文本框,编辑框可用于输入、显示、编辑数据。它只能编辑字符型数据,可编辑长的字符型字段数据,备注字段数据,字符型内存变量数据,它可以编辑单行与多行数据。它最多能接受2147483647个字符。 它的常用属性如表6.10所示。,例6.7 设计一个表单,完成下图所示功能,例6.8 表单如图6.35所示,6.4.6 复选框控件,用于在软件中提供给用户一种或多种选择,以便满足用户的要求。复选框是一个逻辑框,它只有两种状态值:一种为 .T.,表示选上;一种为 .F.,表示没选上。,例6.9 设计一个程序界面如下图所示,对人的能力测试。若选选1、3项,就显示“您是一个全面发展的人!”,否则,显示“您要继续努力”,例 6.10 统计学生人数,6.4.7 选项组控件,它是一个容器控件,包含多个选项按钮,用于在多种功能或多种条件下,用户只能选择其中的一个功能或条件。选项组控件有生成器,通过生成器对各按钮属性设置。常用属性如下表所示。,例6.11 统计学生成绩表中课程的平均分,例6.12 完成如下图所示的表单,在text1中输入x,能选择计算出对应y值,6.4.8 列表框控件,列表框是用于显示项目的列表,用户可以在列表框中选择一项或多项。列表框也有生成器。打开方法选中控件的快捷菜单中生成器即可。 1、列表框常用属性如下表所示:,2、常用方法,例 6.13 设计表单,单击“计算”,可计算出I+I*I+I*I*I的值,I取值为1100,例 6.14 在list1中显示学生表的姓名字段,当选定一个学生姓名时右侧将显示该学生信息,6.4.9 组合框,组合框是一种列表框,有两种形式:一种是下拉式列表框与列表框一样,另一种为下拉式组合框。下拉式组合框可以在列表框中选项,也可以输入一个值。组合框所常用的属性与方法与列表框基本相同,但组合框没有多选择属性,即没有MultiSelect属性。它有一个重要属性就是style,用途如下表所示:,例6.15 设计一个用户登录界面,6.4.10 表格,表格是一种容器对象,它是按行列显示数据,外观与浏览窗口相似。常用属性如下表所示。,例6.16 在表格中选一行时左侧显示该行记录的全部信息,6.4.11 页框,页框是一种容器对象,页框中包含页面即页,而页中又可以包含其它控件。其实页框就是选项卡对话框。页框对表单的有限空间进行了扩展。常用属性如下表。,例6.17 按下图所示设计表单,6.4.12 计时器与微调器,1、计时器 计时器是用于在程序中按一定时间间隔触发某一事件,它的时间是由系统时钟控制的,它在执行时是不可见的。 (1)常用属性,(2)常用事件 Timer事件为计时器常用事件,当经过由Interval属性指定的毫秒数时触发,一般是在此事件中编制周期性的动作执行程序。,例6.18 表单如下图所示,要求使用Timer控件,Interval设为1000,“欢迎使用”在1000 ms间与系统时间交换显示,例6.19 在例6.18的基础上让文字由右向左移动,2、微调(spinner),该控件用于实现用户在一定范围内输入数值。用户通过单击微调的上下箭头改变数值,也可以直接在微调中输入数值。,例6.20 用微调输入x值,计算x*x,6.4.13 图像、形状、线条,1、图像(Image) 用于显示图片。常用属性如下图。,例6.21 计算两数之积,用图像修饰表单,例6.22 交替显示两张图片,2、形状(shape),该控件用来画圆、矩形、椭圆。常用属性如下表。,例6.23 表单如下图所示。Spinner1用于调整形状,曲率取值0-99,步长为10。Spinner2用于填充方式,取值0-7,步长为1。Spinner3用于调红色,取值0-255,Spinner4用于调绿色,取值0-255,Spinner5用于调蓝色,取值0-255,3、线条(Line),该控件画直线。常用属性如下表。,例6.24 设计表单如下图所示,Spinner1与Spinner2的取值范围为0-250,步长为10,6.4.14 容器(container),容器控件是可以包含其它对象的控件。它的封装性好,使用它可以将一些对象组合在一起,统一管理。,例6.25 用容器控件实现计算两数之和,6.5 自定义属性与方法,VFP允许用户定义表单或表单集的属性和方法。自定义属性和方法属于整个表单对象。因此在表单中始终是有效的。用户自定义属性相当于变量,方法相当于过程。自定义属性与方法定义后与控件的其它属性和方法一样使用。,6.5.1 自定义属性,自定义属性分为一般属性和数组属性。 1、自定义属性 (1)建立自定义属性 (2)编辑自定义属性,例6.26 设计一个表单如下图所示,要求每隔1000ms欢迎字幕和系统时间交替变化,单击变化的文本将结束执行,2、自定义数组属性,定义数组属性的方法与定义一般属性是一样的,只是在新建属性对话框中在名称文本框内输入名时要将数组的最大下标输进去,例如输入a(10) 。自定义数组属性可为二维数组。数组属性默认值为.F.,且为只读。要想修改它的类型和值,可通过程序来修改。编辑自定义数组属性与编辑自定义属性方法一样。,例6.27 用自定义数组属性显示1-10之间的平方,6.5.2 自定义方法,自定义方法可以传递参数,可以有返回值,因此它集中了前面学的子程序、函数、过程的优点。 1、自定义方法的添加 2、参数的传递命令 格式:PARAMETERS | LPATAMETERS 功能:接收调用者传来的数据。 说明:(1)PARAMETERS 与 LPATAMETERS区别在于PARAMETERS接收的参数变量属于PRIVATE性质,而LPATAMETERS接收参数变量属于LOCAL性质。(2)若自定义方法需要传递参数可将此命令写入方法的第一行,若不需要传递参数,此命令就不可写了。,3、调用方法形式
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号