表单设计与应用 (2).ppt
《表单设计与应用 (2).ppt》由会员分享,可在线阅读,更多相关《表单设计与应用 (2).ppt(80页珍藏版)》请在三一办公上搜索。
1、第七章表单设计与应用,Visual FoxPro程序设计,目录,Visual FoxPro程序设计,7.1 面向对象的概念,当前计算机程序设计基本上可以分为两种:一种是前面第六章所讲的结构化程序设计。在结构化程序设计中,程序的开发者处于完全支配状态。程序执行的流程遵从程序员预先规定的路径。程序的开发者把一个待求解的问题自上到下进行分解,以便形成一个个相对简单独立的子问题,然后用子程序或函数来解决这些子问题,用子程序或函数之间的数据通信来模拟这些子问题间的联系,最后把这些子程序或函数装配起来以形成解决问题的完整程序。另一种方法就是面向对象的分析与设计。在面向对象的程序设计(Object-Orie
2、nted Programming)中,对象是组成程序的构件,就好像是在面向过程的结构化程序设计方法中的子程序和函数一样。在面向对象的程序设计方法中,程序设计人员不是完全按照过程对求解问题进行分解,而是按照面向对象的观点来描述问题、分解问题,最后选择一种支持面向对象方法的程序语言来解决问题。在这种方法中,设计人员直接用一种称之为“对象”的程序构件来描述客观问题中的“实体”,并用“对象”间的“消息”来模拟实体间的联系,这样讲“对象”有机的结合在一起,便构成了面向对象的应用程序。,Visual FoxPro程序设计,7.1.1 对象与类,一、对象(Object)客观世界里的任何实体都可以被看作是对象
3、。每个对象都具有其区别其它对象的独特存在状态和客观行为。对象可以是现实世界中的任何物体,例如一辆汽车、一张桌子、一台计算机,也可以指某些概念。对象都具有一定的属性、特征,并可以产生一定的行为。属性实际上就是描述该对象的一系列数据,如一张桌子有材料、规格、尺寸、颜色等描述数据。而行为则是对该对象施加的操作,如对一张桌子要进行放置、擦洗等动态操作行为。在Visual FoxPro中,表单是对象,标签是对象,命令按钮是对象,界面上几乎所有事物都是对象,每个对象都有自己的属性和方法。一个对象具有状态、行为和标识,对象的状态包括它的属性和这些属性的当前值。,Visual FoxPro程序设计,7.1.1
4、 对象与类,二、类(Class)“类”是具有相同属性特性和行为规则的“对象”的集合。从程序设计的角度来讲,“类”是一个数据模式和若干个程序过程经过封装而形成的一个整体,它是对现实世界的一种模拟与抽象,类就象是一类对象的模板,而“对象”则是“类”的一个具体实例,“类”的功能只有通过产生一个对象并且引用该对象才能实现。例如:可以把“球”看作是一个类。它具有“种类”、“形状”等特性,以及进行运动、游戏等操作。每一个具体的“篮球”、“足球”都可以看作是“球”类中的对象。类决定了对象的特征,所有对象的属性、事件和方法程序在定义类时被指定。有了类的定义后,就可以基于类生成这类对象的任何一个对象。由同一个类
5、生成的对象虽然采用了相同的属性来表示对象的状态,但它们的属性取值可以完全不同,因而它们有着不同的状态,彼此保持相对独立。,Visual FoxPro程序设计,7.1.1 对象与类,三、类的特点1封装性类的封装性是指将类的特性及其方法程序加以隐蔽,全部封装在类的内部,不让其复杂性暴露在外面。程序开发人员在使用类时无需知道类中的具体技术代码,不用对它进行控制和干预,只需直接使用从类派生出来的对象即可。2继承性继承是面向对象中的一个重要概念,是指在基于现有的类创建新类时,新类继承了现有的类的属性和方法,此外,新类中还可以有自己所特有的新的属性和方法。它表达了从一般到特殊的进化过程。在使用子类或对象时
6、,可以直接调用父类的属性和方法。对父类的修改可以影响其所有的子类,这种自动更新机制大大节省了开发人员的时间和精力,减少了维护代码的难度。3多态性多态性是指允许不同类的对象对同一消息作出响应。也就是说,在类等级中的不同层次可以共享(公用)一个方法名,但不同层次中的各个类却各自按照自己的需要来实现这个方法。,Visual FoxPro程序设计,7.1.2 Visual FoxPro中的类与对象,一、基类与子类Visual FoxPro为了方便用户使用,提供了大量已经定义的类,这些类称为基类。每个基类都有自己的属性、事件和方法。用户很容易从基类中生成一个类,从基类派生出来的类称为子类,也称作自定义类
7、。基类称为父类。一个子类还可以作为父类进一步派生出新的子类。类还可以细化为子类,就像“球”可以派生出“大球”子类和“小球”子类,而“球”是这两个子类的父类。“大球”还可以派生出“篮球”、“足球”等。一个子类可以继承父类中的全部功能,还可以在此基础上添加新的属性和方法。,Visual FoxPro程序设计,7.1.2 Visual FoxPro中的类与对象,二、容器与控件Visual FoxPro中的基类分为两大类型:容器类和控件类。(1)容器类容器类可以包含其他对象,并且允许访问这些对象。无论在设计时刻还是在运行时刻,容器类对象和它所包含的对象都被当作一个独立的对象进行操作。在对象的层次中,容
8、器中被包含的对象处于容器对象的下一层。表7-1 Visual FoxPro的容器类和能包含的对象容器能包含的对象容器(Container)任意控件表单集(FonnSet)表单、工具栏表单(Form)页框、任意控件、容器或自定义对象表格(Odd)表格列表格列(Column)表头和除表单集、表单、工具栏、计时器和其他以外的其余对象页框(PageFrame)页面页面(Page)任意拄件、容器和自定义对象工具栏(ToolBar)任意控件、页框和容器选项按钮组(OptionButtonCnoup)选项按钮命令按钮组(CommandButtonGroup)命令按钮(2)控件类控件类是一个相对独立的整体,不
9、能包含其他对象。包括标签、文本框、编辑框、命令按钮、复选框、列表框、组合框、微调按钮、图像、计时器、ActiveX控件、线条、形状和分页符等。控件类比容器类封装得更为严密,但也因此丧失了一些灵活性。,Visual FoxPro程序设计,7.1.2 Visual FoxPro中的类与对象,(3)对象的引用层次对象之间包含与被包含的关系,产生了对象的层次关系,这与类的层次概念是不同的。类的层次关系体现了类之间继承与被继承的关系,对象的层次关系体现了包含与被包含的关系。容器内的对象还可以再作为其他对象的容器,不同的容器所能包含的对象也不同。在面向对象程序设计时,往往要引用容器中某个特定对象,这时就要
10、,就要指明对象在容器嵌套层次中的位置,引用格式中用点“”分隔。对象的引用有两种方式:绝对引用和相对引用。绝对引用:指从最上层开始,一层层向下,提供完整的对象地址。【例7-1】设置图中命令按钮Commandl的标题为“退出”程序代码:Formset.FmandI.caption=退出”即表单集.表单.命令按钮组.命令按钮1.caption=退出”相对引用对象:从当前对象出发,逐层向高一层或低一层起到另一对象的引用称为相对引用。,Visual FoxPro程序设计,、属性、事件和方法,1属性(Attribute)属性即对象的特性,是对象的外观及行为的特征。例如一辆汽车的大小、颜色、品牌,汽车的停止
11、和行驶的两种状态,这些都是一辆汽车的属性。基本属性是在相应的类中定义好的,当然每个对象也有自己的一些特性,例如同样是轿车,有的可以自动换档,有的只能手工换档。在Visual FoxPro中,各种对象具有70多个属性,如对象的标题(Caption)、文字的对齐方式(Alignment)等就是对象的属性。从功能上看,各种对象的属性可以分为布局和修饰属性、数据属性、状态属性和其他属性四大类。,Visual FoxPro程序设计,、属性、事件和方法,属性值既能在设计时、也能在运行时进行设置。在设计时对对象进行属性设置是通过属性窗口完成的,而在运行时对对象进行属性设置是通过编制程序代码并将之放在事件代码
12、或方法代码中完成的。在程序中设置或修改属性的命令格式:Container.Object.Property=Value即:容器.对象.属性=属性值在程序中引用属性值的命令格式:变量名表单集名.表单名.属性名,Visual FoxPro程序设计,、属性、事件和方法,2事件(Event)事件是对象可以识别和响应的行为与操作,由用户或者系统激活,用户可以编写相应的代码对此进行响应。一个事件有一个事件名,一个事件与一个事件程序相关联,当作用在一个对象上的事件发生时,与这个事件相关联的程序就获得一次运行。例如,事件可以由用户的一个动作产生,如单击鼠标或按下一个键盘按键;也可以由于程序代码或系统产生,如计数
13、器溢出事件等。在Visual FoxPro中事件集是固定的,用户不能再创建新的事件。对象可以响应系统提供的50多个事件,有的事件具有通用性,多个控件都能触发,如Click事件;有的事件只适用于专门的控件,如Interactivechange事件只适应用于列表框和组合框。,Visual FoxPro程序设计,、属性、事件和方法,编写事件代码时注意两条原则:(1)每个对象独立地接收自己的事件;(2)容器事件和控件事件互相独立。只要控件本身编写事件代码,无论是一般容器还是组容器,都先执行控件自己的事件代码;如果控件本身没有编写事件代码,且控件是在组容器中,执行父容器的同名事件代码,如果控件是在一般容
14、器中,则控件不执行任何操作。注:组容器指的是命令按钮组和选项按钮组。,Visual FoxPro程序设计,、属性、事件和方法,3方法(Method)方法是对象可以执行的动作,是封装在对象内部的,在任何时候都不能独立存在于对象之外。例如,对表单对象打开(open)和关闭(close)的操作是表单所具有的方法。用户无需再自己编写打开和关闭的程序代码。表单所具有的内置的代码或缺省的代码将告诉Visual FoxPro如何打开和关闭它们。在Visual FoxPro中提供了50多种不同的方法,每种方法都有自己的名称,称为方法名。Visual FoxPro中不同的对象具有不同的方法,与事件不同的是,方法
15、程序集合可以无限扩展,除了在各个类中已定义的方法外,可以根据需要自定义方法(向类中添加新方法),以完成相应的操作,新建的方法属于表单或表单集。,Visual FoxPro程序设计,、属性、事件和方法,方法的调用格式:变量名=表单集名.表单名.对象名.方法名(参数表)Visual FoxPro中不同的对象具有不同的方法,与事件不同的是,用户可以定义新的方法,新建的方法属于表单。以下列出几个常用的方法功能及使用:(1)Hide方法功能:隐藏表单、表单集或工具栏。适用范围:表单、表单集、SCREEN、工具栏。语法格式:对象.Hide,Visual FoxPro程序设计,、属性、事件和方法,(2)Re
16、fresh方法功能:重画表单或控件并刷新所有值。适用范围:Visual FoxPro中所有的对象,包括复选框、列、组合框、命令按钮、命令组、容器对象、控件对象、编辑框、表单、表单集、表格、标头、列表框、OLE绑定型控件、OLE容器控件、选项按钮、选项组、页面、页框、SCREEN、微调、文本框和工具栏。语法格式:对象.Refresh说明一般地,画表单或控件是在没有事件发生时自动处理的。需要立刻更新表单或控件时可用Refresh方法。刷新表单的同时,也刷新表单上所有的控件;刷新页框时,只刷新活动的页。(3)Release方法功能:释放表单集或表单。适用范围:表单、表单集、SCREEN。语法格式:对
17、象.Release。,Visual FoxPro程序设计,、属性、事件和方法,(4)SetFocus方法功能:为一个控件指定焦点,确定当前的操作对象。适用范围:复选框、列、组合框、命令按钮、容器对象、控件对象、编辑框、表格、列表框、OLE绑定型控件、OLE容器控件、选项按钮、微调和文本框。语法格式:对象.SetFocus(5)Show方法功能:显示表单、表单集或工具栏。适用范围:表单、表单集、_SCREEN和工具栏。语法格式:对象.Show,Visual FoxPro程序设计,7.2创建表单,表单是用户与Visual FoxPro8.0应用程序之间进行数据交换的界面,是最为常用的数据显示及编辑
18、方式,它可以包含各种不同的控件,用户通过可视化的设计方法,利用这些控件制作不同的按钮、下拉框、选项框等,使用户能利用友好、美观的人机交互界面进行数据的接收、显示和编辑,实现与应用程序的连接。表单是Visual FoxPro8.0的特色所在,它克服了浏览、查询、视图等交互界面的呆板和不够丰富。表单是以文件形式保存其内容,表单文件扩展名为.SCX。根据表单数据来源的不同,可将表单分为以下几种类型:(1)简单表单,该表单的数据来源于某一个表或某一个视图。(2)复杂表单,该表单的数据来源于多个表或多个视图。(3)一对多表单,该表单的数据来源于两个表,这两个表必须是按一对多的关系连接起来,其中一个为父表
19、,另一个为子表。,Visual FoxPro程序设计,7.2.1 用表单向导创建简单表单,1简单报表的创建“表单向导”对于初学者来说特别适用,用户不需要编写程序代码便可生成简单的表单程序。【例7-1】以student表为数据来源,制作显示学生信息的表单(student.scx)。,图7-1项目管理器图 图7-2“新建表单”对话框,Visual FoxPro程序设计,7.2.1 用表单向导创建简单表单,操作步骤:(1)打开“项目管理器”,选择文档标签,然后选择“表单”项。单击“新建”按钮,出现“新建表单”对话框。或者在Visual FoxPro菜单栏中,选择“文件”菜单栏中的“新建”选项。在弹出
20、的“新建”对话框中指定文件类型为“表单”。(2)在“新建表单”对话框中选取“表单向导”按钮或者在“新建”对话框中选取“向导”按钮,出现“向导选取”对话框。(3)在“向导选取”对话框中有“表单向导”和“一对多表单向导”两个列表选项,其中“表单向导”用来创建单个表或单个视图的表单:“一对多表单向导”用来创建一组父表记录及其相关子表记录的表单。本例选择的是“表单向导”。,Visual FoxPro程序设计,7.2.1 用表单向导创建简单表单,(4)单击“确定”按钮后,出现表单向导的第一个对话框。这一步主要选择数据库表或自由表中的全部“字段”或部分“字段”,作为表单的显示对象。本例选择“student
21、”数据表中字段名为学号、姓名、性别、出生日期、系科、总分等六个字段。(5)单击“下一步”按钮后,出现表单向导第二个对话框,该步骤主要用来选择表单的显示格式,从样式选项框中选中一个样式后,对话框左上角的放大镜中显示出该样式的运行效果。向导系统提供了九种格式供用户选择,它们分别是标准式、凹陷式、阴影式、边框式、浮雕式、新奇式、石墙式、亚麻式、彩色式。本例选择的是标准式。在对话框的按钮类型选框中,有文本按钮、图片按钮、无按钮和定制4种类型,本例选择的是文本按钮,表示表单将自动生成一组以文本表示的命令按钮。(6)单击“下一步”按钮,出现表单向导第三个对话框。该对话框主要用来选择排序关键字,并确定升序排
22、序还是降序排序,本例选择的是“读者编号”作为关键字,按升序排序。,Visual FoxPro程序设计,7.2.1 用表单向导创建简单表单,(7)单击“下一步”按钮后,出现表单向导第四个对话框,在该对话框中,要求用户输入表单标题,系统默认值为“读者”,下而的三个单选项和三个复选项主要用来询问在创建完这个表单后要做的工作。如选择单选项“保存表单以备将来使用”,则可将创建好的表单保存以备今后使用;如果选择单选项“保存并运行表单”,则可将表单保存,然后立即运行;如果选择单选项“保存表单并用表单设计器修改表单”,则会在表单保存后弹出表单设计器。为了对当前设置的表单进行预览,可单击右面的预览按钮。预览后,
23、单击“返回向导”按钮即可回到表单向导。如果不满意,可以回到上一步进行修改。(8)保存表单。单击“完成”按钮,系统弹出一个“另存为”对话框,要求用户选择表单文件保存的磁盘路径,输入新的表单文件名,并在“保存类型”下拉表中选取“表单”类型。单击“保存”按钮,该表单就保存到了磁盘上。,Visual FoxPro程序设计,7.2.1 用表单向导创建简单表单,(9)在表单设计器窗口,选择“表单”菜单中的“运行”命令,或直接单击工具栏中的运行按钮,则得到表单的运行结果,单击“下一个”按钮可查看下一位同学的信息。注意这种方法必须先进入表单设计器窗口,并且确认已打开了要运行的表单。一般在表单设计或修改时使用,
24、显得方便、直接,便于对表单进行编辑修改。,Visual FoxPro程序设计,7.2.1 用表单向导创建简单表单,2、一对多表单的创建创建一对多表单主要是显示表与表之间的相互关系,在实际应用中运用很广泛。【例7-2】在学生成绩管理系统中,运用student表和assign表查阅某位学生的成绩情况,创建表单(学生成绩.scx)。操作步骤:步骤(1),步骤(2)与例7-1相同。(3)在“向导选取”对话框中,选择“一对多表单向导”,如图7-13所示。,图7-13选择“一对多表单向导”,图7-14从父表中选取字段对话框,Visual FoxPro程序设计,7.2.1 用表单向导创建简单表单,(4)单击
25、“确定”按钮,出现对话框。从父表中选取所需字段,这些字段将显示在表单的上半部。本例选择的是“学生成绩管理系统”数据库中“student”表的部份字段。对话框右面的按钮可选取其它数据库或表来作为父表。(5)单击“下一步”按钮,出现对话框,在对话框中选择与父表有直接关系的子表,从子表中选择要在表单中显示的字段,这些字段在表单中将显示在父表下的表格中。本例选择的是“学生成绩管理系统”数据库下“assign”表的全部字段。注意在创建一个一对多表单时,两个数据表之间应该可以建立连接关系,否则无法创建一对多表单。(6)单击“下一步”按钮,出现对话框。该对话框为一对多表单中的两个数据表之间建立关系。本例选择
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 表单设计与应用 2 表单 设计 应用

链接地址:https://www.31ppt.com/p-6375810.html