首页 Visual FoxPro程序设计幻灯片.徐红波.第6章

Visual FoxPro程序设计幻灯片.徐红波.第6章

举报
开通vip

Visual FoxPro程序设计幻灯片.徐红波.第6章nullVisual FoxPro程序设计教程讲师:徐红波 E-mail: x_h_b@tom.comVisual FoxPro程序设计教程第6章 表单 第6章 表单 表单是VFP创建应用程序与应用程序界面的重要途径之一,它将可视化操作与面向对象的程序设计思想有机结合在一起。表单设计器是设计表单的工具,它提供了设计应用程序界面的各种控件、相应属性、事件。它运用了面向对象的程序设计和事件驱动机制,使开发者能直观,方便,快捷的完成应用程序的设计与界面设计的开发工作。 6.1 面向对象程序设计6.1 面向对象程序设...

Visual FoxPro程序设计幻灯片.徐红波.第6章
nullVisual FoxPro程序设计教程讲师:徐红波 E-mail: x_h_b@tom.comVisual FoxPro程序设计教程第6章 表单 第6章 表单 表单是VFP创建应用程序与应用程序界面的重要途径之一,它将可视化操作与面向对象的程序设计思想有机结合在一起。表单设计器是设计表单的工具,它提供了设计应用程序界面的各种控件、相应属性、事件。它运用了面向对象的程序设计和事件驱动机制,使开发者能直观,方便,快捷的完成应用程序的设计与界面设计的开发工作。 6.1 面向对象程序设计6.1 面向对象程序设计 面向对象的程序设计思想是将事物的共性,本质 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 抽象出来封装成类。VFP又将软件开发常用的功能抽象封装成 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 类,开发者用类定义所需对象,通过对对象的属性设置,对事件的编程完成程序设计,VFP还提供了自定义类及面向对象的其他完整机制与功能。6.1.1 对象与属性6.1.1 对象与属性1、对象 对象是类的实例化,是客观存在的具体事物,VFP标准类中有表单类,控件类等。具体的一个表单就是表单对象。 2、属性 属性是描述对象的静态特征。如表单的颜色,标题,名称等。常用的表单属性如表6.1所示。表6.1 常用表单属性表6.1 常用表单属性6.1.2 事件与方法 6.1.2 事件与方法 1、事件:描述对象的动态行为,它是由系统预先定义好的,由用户或系统发出动作,用对象来识别,用户可编程对此进行响应。表6.2所示是表单设计器提供的常用事件。nullnull2、方法:与对象相关的过程,是对象能执行的操作。方法分为两种:一种为内部方法,另一种为用户自定义方法。内部方法是VFP预先定义好的方法,供用户使用或修改后使用。表6.3给出常用的方法。表6.3 常用方法表6.3 常用方法3、对象的引用规则3、对象的引用规则(1)引用形式 对象对属性、文件、方法的引用是用点“.”运算符。 形式:对象.属性|方法|事件 说明:对象若有包含与被包含关系,可以从外层用“.”引用到内层对象。如在后面要介绍的命令按钮Command1,对它的Caption属性的引用可以写成:ThisForm.Command1.Caption=“确定”,这个意思是设置当前表单中的Command1按钮的Caption属性为确定。ThisForm代表当前表单。 (2)对象在引用中常使用的关键字 如表6.4所示。 (3)容器类(3)容器类 在表单中有包含与被包含关系的对象,能包含其他对象的对象称为容器对象,容器对象的类称为容器类,在VFP中常用的容器类如下表所示。6.2 用表单向导设计表单6.2 用表单向导设计表单 表单向导是通过与用户人机交互向导,完成对表进行浏览,编辑等基本操作界面的自动生成。表单向导为单表建立的表单称单表表单,为多表建立的表单称多表表单。 6.2.1 建立单表表单 6.2.2 建立多表表单6.2.1 建立单表表单 6.2.2 建立多表表单1、建立表单 2、执行表单 3、编辑表单 6.3 表单设计器6.3 表单设计器 用表单向导设计表单,固然简单方便又不需要编写代码,但表单向导设计出的表单是有一定的固定模式,功能也有限。如果想设计无固定模式,多功能的表单,表单向导是无法实现的。VFP提供了表单设计器这个面向对象编程的可视化工具,用以满足开发者设计风格各异,功能齐全的表单。6.3.1 表单设计器的环境6.3.1 表单设计器的环境1、打开表单设计器 (1)用界面方式打开 (2)用命令方式打开 格式:MODIFY FORM [<表单名>|?] 功能:打开表单设计器,创建或修改由表单名指定的表单。 说明:无选项或选?,将出现打开对话框,选一个表单或输入一个表单名,输入的表单名如果不存在则创建新的表单,如果存在则对原表单进行修改。 2、表单设计器环境2、表单设计器环境(1)表单设计器工具栏 1)设置Tab键次序 2)数据环境 3)属性窗口 4)代码窗口 5)表单控件工具栏 6)调色板工具栏 7)布局工具栏 8)表单生成器 9)自动格式例6.1 设计表单。当单击表单上的文字“欢迎新同学”时文字变为“学习要勤奋”,再双击就又恢复成以前的文字。单击退出按钮释放表单。 例6.1 设计表单。当单击表单上的文字“欢迎新同学”时文字变为“学习要勤奋”,再双击就又恢复成以前的文字。单击退出按钮释放表单。 6.3.2 控件的操作与布局6.3.2 控件的操作与布局1、控件操作 (1)在表单中放置控件 (2)控件在表单中的复制与粘贴 (3)调整大小 (4)删除控件 (5)在表单中放置多个同类的控件 2、控件的布局 6.3.3 数据环境6.3.3 数据环境 数据环境要在表单打开的情况下使用,当表单关闭或释放时它就关闭。 1、打开数据环境设计器 2、向数据环境设计器中添加表或视图 3、数据环境中关系的设置 4、从数据环境设计器中移去表或视图 5、向表单中添加字段例6.2 设计一个表单,它可以对表进行浏览、编辑、并可以释放表单(即退出),界面如下图所示例6.2 设计一个表单,它可以对表进行浏览、编辑、并可以释放表单(即退出),界面如下图所示6.3.4 设置属性与编辑代码6.3.4 设置属性与编辑代码1、设置属性 (1)在属性窗口的对象下拉列表框中选要设置属性的对象 (2)在属性列表框中找到要设置的属性并选中该属性 (3)在属性设置框中输入具体设置的属性值 1、编辑代码 (1)打开代码窗口的方法 1)单击表单设计器工具栏中的代码窗口按钮 2)双击表单工作区任意位置 (2)在对象下拉列表框中选要编辑代码的对象 (3)在过程下拉列表框中选要编辑的代码对象的事件或方法 (4)在代码编辑区中输入相应的代码 (5)关闭代码编辑窗口,有两种方法; 1)单击表单设计器工具栏中的代码窗口 2)单击代码窗口中的关闭按钮6.3.5 表单的修改与运行6.3.5 表单的修改与运行1、表单的修改 (1)打开表单设计器 (2)对表单进行修改 1)若对表单中已有控件对象修改,方法与设置属性和编辑代码相同。 2)如果在表单中创建新的控件对象,可在表单控件工具栏中选中控件放到表单中,然后对该对象进行属性设置和代码编辑。 3)若要删除表单中的控件,选中该控件按Del键。 2、表单的运行 格式:DO FORM <表单名> 功能:执行由表单名指定的表单。6.4 常用表单控件 6.4.1 标签控件6.4 常用表单控件 6.4.1 标签控件 标签控件属于输出类控件,用于显示文本。它的常用属性如表6.6所示。例6.3 计算1+2+3…+100的和例6.3 计算1+2+3…+100的和6.4.2 命令按钮6.4.2 命令按钮 命令按钮用来触发事件,完成特定的功能 ,常用属性如表6.7所示。例6.4 计算10!例6.4 计算10!6.4.3 命令组6.4.3 命令组1、常用属性 命令组是容器控件,常用属性如图6.8所示。 2、命令组生成器 3、编辑命令组例6.5 将6.2题用命令组做例6.5 将6.2题用命令组做 6.4.4 文本框控件 6.4.4 文本框控件 文本框控件是基本控件,可以输入,编辑数据。它可以处理除备份字段类型的数据,一般包含一行数据,在接受字符型数据时,最多255个字符。 表6.9 文本框常用属性 例6.6 求n!例6.6 求n!6.4.5 编辑文本框6.4.5 编辑文本框 编辑框可用于输入、显示、编辑数据。它只能编辑字符型数据,可编辑长的字符型字段数据,备注字段数据,字符型内存变量数据,它可以编辑单行与多行数据。它最多能接受2147483647个字符。 它的常用属性如表6.10所示。例6.7 设计一个表单,完成下图所示功能 例6.7 设计一个表单,完成下图所示功能 例6.8 表单如图6.35所示例6.8 表单如图6.35所示6.4.6 复选框控件6.4.6 复选框控件 用于在软件中提供给用户一种或多种选择,以便满足用户的要求。复选框是一个逻辑框,它只有两种状态值:一种为 .T.,表示选上;一种为 .F.,表示没选上。例6.9 设计一个程序界面如下图所示,对人的能力测试。若选选1、3项,就显示“您是一个全面发展的人!”,否则,显示“您要继续努力”例6.9 设计一个程序界面如下图所示,对人的能力测试。若选选1、3项,就显示“您是一个全面发展的人!”,否则,显示“您要继续努力”例 6.10 统计学生人数例 6.10 统计学生人数6.4.7 选项组控件6.4.7 选项组控件 它是一个容器控件,包含多个选项按钮,用于在多种功能或多种条件下,用户只能选择其中的一个功能或条件。选项组控件有生成器,通过生成器对各按钮属性设置。常用属性如下表所示。例6.11 统计学生成绩表中课程的平均分 例6.11 统计学生成绩表中课程的平均分 例6.12 完成如下图所示的表单,在text1中输入x,能选择计算出对应y值例6.12 完成如下图所示的表单,在text1中输入x,能选择计算出对应y值6.4.8 列表框控件 6.4.8 列表框控件 列表框是用于显示项目的列表,用户可以在列表框中选择一项或多项。列表框也有生成器。打开方法选中控件的快捷菜单中——生成器即可。 1、列表框常用属性如下表所示:nullnull2、常用方法 例 6.13 设计表单,单击“计算”,可计算出I+I*I+I*I*I的值,I取值为1~100例 6.13 设计表单,单击“计算”,可计算出I+I*I+I*I*I的值,I取值为1~100例 6.14 在list1中显示学生表的姓名字段,当选定一个学生姓名时右侧将显示该学生信息例 6.14 在list1中显示学生表的姓名字段,当选定一个学生姓名时右侧将显示该学生信息6.4.9 组合框6.4.9 组合框 组合框是一种列表框,有两种形式:一种是下拉式列表框与列表框一样,另一种为下拉式组合框。下拉式组合框可以在列表框中选项,也可以输入一个值。组合框所常用的属性与方法与列表框基本相同,但组合框没有多选择属性,即没有MultiSelect属性。它有一个重要属性就是style,用途如下表所示:例6.15 设计一个用户登录界面例6.15 设计一个用户登录界面6.4.10 表格6.4.10 表格 表格是一种容器对象,它是按行列显示数据,外观与浏览窗口相似。常用属性如下表所示。例6.16 在表格中选一行时左侧显示该行 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 的全部信息例6.16 在表格中选一行时左侧显示该行记录的全部信息6.4.11 页框 6.4.11 页框 页框是一种容器对象,页框中包含页面即页,而页中又可以包含其它控件。其实页框就是选项卡对话框。页框对表单的有限空间进行了扩展。常用属性如下表。例6.17 按下图所示设计表单例6.17 按下图所示设计表单6.4.12 计时器与微调器6.4.12 计时器与微调器1、计时器 计时器是用于在程序中按一定时间间隔触发某一事件,它的时间是由系统时钟控制的,它在执行时是不可见的。 (1)常用属性 (2)常用事件 Timer事件为计时器常用事件,当经过由Interval属性指定的毫秒数时触发,一般是在此事件中编制周期性的动作执行程序。例6.18 表单如下图所示,要求使用Timer控件,Interval设为1000,“欢迎使用”在1000 ms间与系统时间交换显示例6.18 表单如下图所示,要求使用Timer控件,Interval设为1000,“欢迎使用”在1000 ms间与系统时间交换显示例6.19 在例6.18的基础上让文字由右向左移动2、微调(spinner)2、微调(spinner) 该控件用于实现用户在一定范围内输入数值。用户通过单击微调的上下箭头改变数值,也可以直接在微调中输入数值。例6.20 用微调输入x值,计算x*x例6.20 用微调输入x值,计算x*x6.4.13 图像、形状、线条6.4.13 图像、形状、线条1、图像(Image) 用于显示图片。常用属性如下图。例6.21 计算两数之积,用图像修饰表单例6.21 计算两数之积,用图像修饰表单例6.22 交替显示两张图片例6.22 交替显示两张图片2、形状(shape)2、形状(shape) 该控件用来画圆、矩形、椭圆。常用属性如下表。例6.23 表单如下图所示。Spinner1用于调整形状,曲率取值0-99,步长为10。Spinner2用于填充方式,取值0-7,步长为1。Spinner3用于调红色,取值0-255,Spinner4用于调绿色,取值0-255,Spinner5用于调蓝色,取值0-255例6.23 表单如下图所示。Spinner1用于调整形状,曲率取值0-99,步长为10。Spinner2用于填充方式,取值0-7,步长为1。Spinner3用于调红色,取值0-255,Spinner4用于调绿色,取值0-255,Spinner5用于调蓝色,取值0-2553、线条(Line)3、线条(Line) 该控件画直线。常用属性如下表。例6.24 设计表单如下图所示,Spinner1与Spinner2的取值范围为0-250,步长为10例6.24 设计表单如下图所示,Spinner1与Spinner2的取值范围为0-250,步长为106.4.14 容器(container)6.4.14 容器(container) 容器控件是可以包含其它对象的控件。它的封装性好,使用它可以将一些对象组合在一起,统一管理。例6.25 用容器控件实现计算两数之和例6.25 用容器控件实现计算两数之和6.5 自定义属性与方法6.5 自定义属性与方法 VFP允许用户定义表单或表单集的属性和方法。自定义属性和方法属于整个表单对象。因此在表单中始终是有效的。用户自定义属性相当于变量,方法相当于过程。自定义属性与方法定义后与控件的其它属性和方法一样使用。6.5.1 自定义属性6.5.1 自定义属性 自定义属性分为一般属性和数组属性。 1、自定义属性 (1)建立自定义属性 (2)编辑自定义属性 例6.26 设计一个表单如下图所示,要求每隔1000ms欢迎字幕和系统时间交替变化,单击变化的文本将结束执行例6.26 设计一个表单如下图所示,要求每隔1000ms欢迎字幕和系统时间交替变化,单击变化的文本将结束执行2、自定义数组属性2、自定义数组属性 定义数组属性的方法与定义一般属性是一样的,只是在新建属性对话框中在名称文本框内输入名时要将数组的最大下标输进去,例如输入a(10) 。自定义数组属性可为二维数组。数组属性默认值为.F.,且为只读。要想修改它的类型和值,可通过程序来修改。编辑自定义数组属性与编辑自定义属性方法一样。 例6.27 用自定义数组属性显示1-10之间的平方例6.27 用自定义数组属性显示1-10之间的平方6.5.2 自定义方法6.5.2 自定义方法 自定义方法可以传递参数,可以有返回值,因此它集中了前面学的子程序、函数、过程的优点。 1、自定义方法的添加 2、参数的传递命令 格式: PARAMETERS <形参表> | LPATAMETERS <形参表> 功能:接收调用者传来的数据。 说明:(1)PARAMETERS 与 LPATAMETERS区别在于PARAMETERS接收的参数变量属于PRIVATE性质,而LPATAMETERS接收参数变量属于LOCAL性质。(2)若自定义方法需要传递参数可将此命令写入方法的第一行,若不需要传递参数,此命令就不可写了。 null3、调用方法形式 对象.方法名([实参表]) 说明:实参表中实参可为数据、变量、变量的地址,变量的地址形式为@变量名。 4、方法的返回命令 格式:RETURN [<表达式>] 功能:为自定义方法返回表达式指定的值 说明:1.若无表达式。RETURN返回.T.。2.若自定义方法不需要返回值,可不写返回命令。 例6.28 计算1+2+…+n的值例6.28 计算1+2+…+n的值 例6.29 计算n!例6.29 计算n!6.6 表单集与多重表单6.6 表单集与多重表单 在前面的学习中程序界面一次只出现一个,但软件开发中经常遇到同时使用多个界面的问题。对这类问题,VFP使用表单集与多重表单的功能来解决。当多个表单之间存在着频繁的信息交流时VFP用表单集来处理。当多个表单之间存在调用与被调用关系时VFP用多重表单来处理。6.6.1 表单集6.6.1 表单集 表单集是一个容器,它被创建后并不可见,表单集一旦被创建,它内部自动包含一个表单。表单集的默认名为FormSet1,表单集中第一个表单默认名为Form1。 null 在表单集中表单的地位是平等的,没有主从关系。表单集对它内部中的表单实行统一管理与操作。在表单集中可以同时显示或隐藏表单,并能以可视化的模式调整多个表单的相对位置,可在一个表单中方便地操纵另一个表单及其中的对象,在表单集中的表单都可以有独立的数据环境。从而可以同时控制在多个表单中的记录指针。这是指当在一个表单中父表的记录指针改变时,在其他表单中的与其相关的子表的记录指针随着相应地改变和显示。例6.30 要求Form2中的“闪亮登场”文字与系统时间交替显示。Form2中有一个计时器控件,时间间隔为1000ms。当Form1中选择不同的单选按钮时,Form2中的文本进行相应颜色和字体的变化例6.30 要求Form2中的“闪亮登场”文字与系统时间交替显示。Form2中有一个计时器控件,时间间隔为1000ms。当Form1中选择不同的单选按钮时,Form2中的文本进行相应颜色和字体的变化例6.31 表单集有两个表单Form1、Form2,要求在Form1的Combo1中选一个姓名在Form2中显示该学生成绩例6.31 表单集有两个表单Form1、Form2,要求在Form1的Combo1中选一个姓名在Form2中显示该学生成绩6.6.2 多重表单6.6.2 多重表单 多重表单是指在多个表单之间存在着主从关系或层次关系。 在表单调用中能调用其它的表单称为主表单或父表单。而被其它表单调用的表单称为子表单。上层表单就是父表单,下层表单就是子表单。 VFP支持单文档界面(SDI)和多文档界面(MDI)。单文档界面是指应用程序窗口只能显示一个文档窗口。多文档界面是指应用程序窗口可以显示一个或多个文档窗口。为了实现SDI与MDI,VFP将表单分为子表单、浮动表单、顶层表单3种。1、表单的3种分类1、表单的3种分类(1)子表单:子表单包含在父表单窗口中它不可以移至父表单边界之外,当它最小化时将显示在父表单的底部。当父表单最小化时子表单也最小化。子表单是在表单设计器中创建的,将属性ShowWindow属性设为0或1。 (2)浮动表单:浮动表单是一种子表单。它属于父表单的一部分,但不包含在父表单中,它可以移动到屏幕的任何位置,但不能在父窗口后台移动。当浮动表单最小化时它将显示在桌面的底部。当父表单最小化时它也一同最小化。浮动表单是在表单设计器中创建的,将ShowWindow属性设为0或1,将表单的Desktop设为.T.。 (3)顶层表单:顶层表单是指没有父表单的独立表单。它与应用程序同级,可出现在其前台或后台,并显示在任务栏中。顶层表单在表单设计器中创建的,将属性ShowWindow属性设为2。2、主表单调用子表单2、主表单调用子表单格式:DO FORM <表单名> [with <实参表>] [TO <内存变量>] 功能:执行由表单名指定的子表单。 说明:(1)选[with <实参表>]是将父表单的实参传给子表单。子表单在Init事件中必须有PARAMETERS <形参表>或LPATAMETERS <形参表>命令。 (2)选[TO <内存变量>]是存放从子表单返回来的值。子表单必须在Unload事件中用RETURN [<表达式>]返回命令,若RETURN命令无表达式,将返回.T.。例6.32 求n!例6.32 求n!6.7 小结6.7 小结 表单是VFP创建程序及界面的重要途径之一。表单设计器中的各个控件都为用户创建界面提供了不同的功能,表单是面向对象程序设计思想与可视化操作的集中体现,它的事件驱动机制能使我们直观、快捷的完成应用程序的设计。
本文档为【Visual FoxPro程序设计幻灯片.徐红波.第6章】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_689168
暂无简介~
格式:ppt
大小:717KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2010-12-25
浏览量:26