1、Visual FoxPro 6.0 程序设计.课件-1-第第7 7章章 表单的设计表单的设计 7.1 7.1 面向对象的基本概念面向对象的基本概念 7.2 7.2 表单设计表单设计 7.3 7.3 表单控件设计表单控件设计提示:单击各个标题前的动画符号“”,链接到相应的章节。Visual FoxPro 6.0 程序设计.课件-2-qVisual FoxPro 6.0Visual FoxPro 6.0采用了面向对象的程序设计方法。其采用了面向对象的程序设计方法。其中,表单设计是中,表单设计是Visual FoxPro 6.0Visual FoxPro 6.0程序设计的主要工作程序设计的主要工作之
2、一。设计表单的过程就是设计程序界面的过程;表单之一。设计表单的过程就是设计程序界面的过程;表单为数据库信息的显示、输入和编辑提供了非常简便的方为数据库信息的显示、输入和编辑提供了非常简便的方法。法。q本章主要介绍面向对象的基本概念;介绍如何使用表单本章主要介绍面向对象的基本概念;介绍如何使用表单向导和表单设计器设计不同的表单;介绍表单中最常用向导和表单设计器设计不同的表单;介绍表单中最常用控件的使用方法;结合实例讲解表单及其控件的属性、控件的使用方法;结合实例讲解表单及其控件的属性、事件和方法的调用方法。事件和方法的调用方法。Visual FoxPro 6.0 程序设计.课件-3-7.1 7.
3、1 面向对象的基本概念面向对象的基本概念 7.1.1 7.1.1 对象的属性、事件和方法对象的属性、事件和方法 7.1.2 Visual FoxPro 7.1.2 Visual FoxPro中的类中的类Visual FoxPro 6.0 程序设计.课件-4-7.1 面向对象的基本概念q面向对象(面向对象(Object-OrientedObject-Oriented)是按照人类认识世界的方法)是按照人类认识世界的方法和思路方式来解决问题,它把要处理的事物划分成概念上和思路方式来解决问题,它把要处理的事物划分成概念上的对象单元,然后再编程处理不同对象单元里的数据即操的对象单元,然后再编程处理不同对
4、象单元里的数据即操作。作。q传统的程序设计使用的是面向过程的编程方法。用面向过传统的程序设计使用的是面向过程的编程方法。用面向过程方法编写的程序,它的运行是按设计好的顺序执行各项程方法编写的程序,它的运行是按设计好的顺序执行各项功能和操作的。其缺点是程序员始终要关心什么时候发生功能和操作的。其缺点是程序员始终要关心什么时候发生什么事情。什么事情。q面向对象程序设计所追求的目标,是用符合人类处理问题面向对象程序设计所追求的目标,是用符合人类处理问题的思维方式,将现实世界中的问题求解尽可能地简单化。的思维方式,将现实世界中的问题求解尽可能地简单化。Visual FoxPro 6.0Visual F
5、oxPro 6.0支持面向对象程序设计用面向对象方法支持面向对象程序设计用面向对象方法编写的程序,它的运行没有严格的固定顺序,是通过事件编写的程序,它的运行没有严格的固定顺序,是通过事件来驱动不同的程序段,既由不同对象上的各种事件来驱动来驱动不同的程序段,既由不同对象上的各种事件来驱动不同的程序功能和操作。在事件驱动编程中,程序员只要不同的程序功能和操作。在事件驱动编程中,程序员只要编写响应用户动作的程序,如选择菜单命令、单击鼠标等,编写响应用户动作的程序,如选择菜单命令、单击鼠标等,而不必考虑按精确次序执行的每个步骤。在这种机制下,而不必考虑按精确次序执行的每个步骤。在这种机制下,不必编写一
6、个大型的程序,而是建立一个由若干小程序组不必编写一个大型的程序,而是建立一个由若干小程序组成的应用程序,这些小程序可以由用户启动的事件来激发。成的应用程序,这些小程序可以由用户启动的事件来激发。Visual FoxPro 6.0 程序设计.课件-5-7.1.1 对象的属性、事件和方法q在面向对象的程序设计语言里,用在面向对象的程序设计语言里,用“对象对象”表现要处理的事物,表现要处理的事物,用用“属性属性”表示事物的状态和特征,用表示事物的状态和特征,用“事件事件”表示处理事物表示处理事物的动作,用的动作,用“方法方法”表现处理事物的过程。表现处理事物的过程。q在在Visual FoxPro
7、6.0Visual FoxPro 6.0中,对象的特征和数据称为中,对象的特征和数据称为“属性属性”,由对象识别的一个动作称为由对象识别的一个动作称为“事件事件”,在对象上完成的操作过,在对象上完成的操作过程称为程称为“方法方法”。1 1对象对象q对象(对象(ObjectObject):指现实世界中的所有实体,包括事、物、概):指现实世界中的所有实体,包括事、物、概念等。例如,一台电脑是一个对象,一间教室也是一个对象。念等。例如,一台电脑是一个对象,一间教室也是一个对象。q如果将教室对象拆开来看,其组成有讲台、黑板、课桌、课椅、如果将教室对象拆开来看,其组成有讲台、黑板、课桌、课椅、屏幕、投影
8、仪等,每一个设备都是一个对象,即教室对象是由屏幕、投影仪等,每一个设备都是一个对象,即教室对象是由多个多个“子子”对象组成的。此时教室对象称为一个包容器对象。对象组成的。此时教室对象称为一个包容器对象。在面向对象系统中一切组成元素都是对象,大到整个系统、项在面向对象系统中一切组成元素都是对象,大到整个系统、项目、数据库、表、表单,小到窗口、控件都被视为对象。从面目、数据库、表、表单,小到窗口、控件都被视为对象。从面向对象编程的角度来看,对象是一个逻辑实体,它包括数据和向对象编程的角度来看,对象是一个逻辑实体,它包括数据和完成处理所需要的程序代码,是数据和代码的组合完成处理所需要的程序代码,是数
9、据和代码的组合,一个对象一个对象建立以后,其操作就通过与该对象有关的属性、事件和方法来建立以后,其操作就通过与该对象有关的属性、事件和方法来描述。描述。q常见的对象有:表单、命令按钮、标签、文本框、列表框等。常见的对象有:表单、命令按钮、标签、文本框、列表框等。Visual FoxPro 6.0 程序设计.课件-6-2 2属性属性q属性(属性(PropertyProperty):用来表示对象的状态和特征。例如,一个命):用来表示对象的状态和特征。例如,一个命令按钮是一个对象,其位置、大小、颜色等,都是它的属性。令按钮是一个对象,其位置、大小、颜色等,都是它的属性。q在在Visual FoxPr
10、o 6.0Visual FoxPro 6.0中,属性值的设置或修改可以通过属性窗中,属性值的设置或修改可以通过属性窗口来进行,也可以通过编程的方法在程序运行的时候来改变对象口来进行,也可以通过编程的方法在程序运行的时候来改变对象的属性。的属性。q程序代码中设置属性的格式:程序代码中设置属性的格式:表单名对象名属性名属性值表单名对象名属性名属性值3 3事件事件q事件(事件(EventEvent):是由系统预先定义好的、能够被对象识别的动):是由系统预先定义好的、能够被对象识别的动作。例如,鼠标单击作。例如,鼠标单击(Click)(Click)、双击、双击(DblClickDblClick)等动作
11、都是事件。等动作都是事件。q对象的事件是系统定义好的,用户不能创造出新的事件。同一个对象的事件是系统定义好的,用户不能创造出新的事件。同一个对象上可以发生多个事件,不同的对象所能识别的事件也不完全对象上可以发生多个事件,不同的对象所能识别的事件也不完全相同。一个事件对应于一个程序,称为事件过程。事件一旦被触相同。一个事件对应于一个程序,称为事件过程。事件一旦被触发,系统立即执行与该事件对应的事件过程。发,系统立即执行与该事件对应的事件过程。q在在Visual FoxPro 6.0Visual FoxPro 6.0中,虽然一个对象上可以识别多个事件,中,虽然一个对象上可以识别多个事件,但程序中并
12、不一定要为该对象编写对应的事件过程。所以,具体但程序中并不一定要为该对象编写对应的事件过程。所以,具体对象是否拥有或拥有多个事件过程,需要根据具体的程序要求来对象是否拥有或拥有多个事件过程,需要根据具体的程序要求来确定。对于某个对象必须响应的事件,需要编写该事件的事件过确定。对于某个对象必须响应的事件,需要编写该事件的事件过程;而对于不必理会的事件则不需要编写事件过程。程;而对于不必理会的事件则不需要编写事件过程。Visual FoxPro 6.0 程序设计.课件-7-4 4方法方法q方法(方法(ethodethod)是与对象相关联的过程,用于完成某种)是与对象相关联的过程,用于完成某种特定的
13、功能。例如,表单对象就拥有特定的功能。例如,表单对象就拥有“释放表单释放表单”等方等方法。法。q方法是和对象紧密连接在一起,它附属于对象。不同的方法是和对象紧密连接在一起,它附属于对象。不同的对象拥有系统预先定义好的各种不同的内部方法。方法对象拥有系统预先定义好的各种不同的内部方法。方法中的具体程序是被中的具体程序是被“封装封装”在对象之中,用户可以根据在对象之中,用户可以根据需要建立新的方法。方法的代码是在程序中调用,调用需要建立新的方法。方法的代码是在程序中调用,调用的格式如下:的格式如下:变量名变量名=对象名对象名.方法名方法名()()q综上所述,对象是属性、事件和方法的集合体;是一个综
14、上所述,对象是属性、事件和方法的集合体;是一个封装了属性、事件和方法的实体。对象的基本特点是具封装了属性、事件和方法的实体。对象的基本特点是具有属性,用来描述自己的状态;具有方法,用来构成自有属性,用来描述自己的状态;具有方法,用来构成自己的行为;具有事件,用来响应外界的动作。己的行为;具有事件,用来响应外界的动作。q在程序设计中,定义了对象的属性、事件和方法就决定在程序设计中,定义了对象的属性、事件和方法就决定对象的外观和它的动作。用户通过属性、事件和方法来对象的外观和它的动作。用户通过属性、事件和方法来处理对象。处理对象。Visual FoxPro 6.0 程序设计.课件-8-5 5对象引
15、用对象引用q在面向对象程序设计中,常常需要引用对象或引用对象在面向对象程序设计中,常常需要引用对象或引用对象的属性、事件和方法。在引用对象时,需要标识出该对的属性、事件和方法。在引用对象时,需要标识出该对象在对象层次结构中的层次。例如,同在文件目录结构象在对象层次结构中的层次。例如,同在文件目录结构中,要访问一个文件就要标识出该文件的路径。中,要访问一个文件就要标识出该文件的路径。q对象的引用分为绝对引用和相对引用。对象的引用分为绝对引用和相对引用。(1 1)对象绝对引用)对象绝对引用q对象绝对引用通过提供对象完整的容器层次来引用对象。对象绝对引用通过提供对象完整的容器层次来引用对象。绝对引用
16、关系为:表单集绝对引用关系为:表单集.表单表单.页框页框.页页.控件控件.属性属性q例如例如,在嵌套的容器中,使命令按钮在嵌套的容器中,使命令按钮1 1(Command1Command1)可用,)可用,可以通过设置命令按钮的可以通过设置命令按钮的EnabledEnabled属性来实现。属性来实现。Formset.Form.PageFrame.Page.Command1.Enabled=.T.Formset.Form.PageFrame.Page.Command1.Enabled=.T.Visual FoxPro 6.0 程序设计.课件-9-(2 2)对象相对引用)对象相对引用q对象相对引用是通
17、过使用一些属性和关键字,直接从对对象相对引用是通过使用一些属性和关键字,直接从对象某层次中引用对象。对象相对引用时,要指明从哪一象某层次中引用对象。对象相对引用时,要指明从哪一级对象开始引用对象。相对引用常用的关键字如下:级对象开始引用对象。相对引用常用的关键字如下:THISFORMSETTHISFORMSET:表示包含该对象的表单集。:表示包含该对象的表单集。THISFORMTHISFORM:表示包含该对象的表单。:表示包含该对象的表单。THISTHIS:表示当前对象。:表示当前对象。PARENTPARENT:该对象的直接容器。:该对象的直接容器。q使用相对引用的关键字,在容器层次结构中表示
18、某个层使用相对引用的关键字,在容器层次结构中表示某个层次,其引用关系为:次,其引用关系为:THISFORMSET.THISFORM.THIS.PropertyTHISFORMSET.THISFORM.THIS.Property(表单集(表单集.表单表单.对象对象.属性)或属性)或Parent.Object.PropertyParent.Object.Property(Parent.Parent.对象对象.属性属性)。q例如,例如,THISform.label1.caption=THISform.label1.caption=中国北京,加油中国北京,加油,表示将泵表单的标签表示将泵表单的标签la
19、bel1label1的标题属性设置成的标题属性设置成 中国北京,中国北京,加油加油。Visual FoxPro 6.0 程序设计.课件-10-7.1.2 Visual FoxPro中的类q现实世界中,类是指同一类型事物的集合。在面向对象现实世界中,类是指同一类型事物的集合。在面向对象的程序设计中,通常把类看作是一组相似对象的集合;的程序设计中,通常把类看作是一组相似对象的集合;类又被称为对象的原型或对象的模板。类又被称为对象的原型或对象的模板。1 1类的基本概念类的基本概念q类类(Class)(Class)是指已经定义的、关于对象的特征和行为的模是指已经定义的、关于对象的特征和行为的模板。类是
20、对一组相似对象的共同抽象描述,它将该组对板。类是对一组相似对象的共同抽象描述,它将该组对象所具有的共同特征集中起来,用于说明该组对象的性象所具有的共同特征集中起来,用于说明该组对象的性质和能力。在质和能力。在Visual FoxPro 6.0Visual FoxPro 6.0中,表单控件工具栏中中,表单控件工具栏中的每个控件按钮都代表了一个类,使用其中控件按钮在的每个控件按钮都代表了一个类,使用其中控件按钮在表单上创建的每一个控件都是具体的对象。表单上创建的每一个控件都是具体的对象。q类和对象的关系如下:类和对象的关系如下:(1 1)类是对象的模板)类是对象的模板(2 2)对象是类的实例)对象
21、是类的实例q综上所述,对象的属性、事件和方法都是在定义类时被综上所述,对象的属性、事件和方法都是在定义类时被指定的。由于类是定义了对象特征、外观和行为的模板,指定的。由于类是定义了对象特征、外观和行为的模板,所以对象由类生成,生成的对象也自然具有相同的属性、所以对象由类生成,生成的对象也自然具有相同的属性、事件和方法。事件和方法。Visual FoxPro 6.0 程序设计.课件-11-2 2基类基类q基类是基类是Visual FoxPro 6.0Visual FoxPro 6.0内部预内部预先定义的类。在基类的基础上,用先定义的类。在基类的基础上,用户可以新建自定义的子类。基类还户可以新建自
22、定义的子类。基类还可以创建对象,这些对象将继承该可以创建对象,这些对象将继承该基类的功能。基类的功能。q在在Visual FoxPro 6.0Visual FoxPro 6.0中可以查看中可以查看基类,方法如下:基类,方法如下:(1 1)单击)单击“文件文件”|“|“新建新建”命令,命令,打开打开“新建新建”对话框,如图对话框,如图7-17-1所所示。示。图7-1“新建”对话框 Visual FoxPro 6.0 程序设计.课件-12-图7-2“新建类”对话框(2)选中)选中“类类”单选按钮,单击单选按钮,单击“新建文件新建文件”按钮,打开按钮,打开“新建类新建类”对话框,如图对话框,如图7-
23、2所示。所示。(3)在)在“新建类新建类”对话框的对话框的“派生于派生于”下拉列表框中包含下拉列表框中包含了全部基类。如表单了全部基类。如表单(Form)、表单集、表单集(FormSet)、表单控件、表单控件工具栏中所有的控件也是基类。工具栏中所有的控件也是基类。Visual FoxPro 6.0 程序设计.课件-13-3 3子类子类q在父类的基础上创建出的新类,称为子类。父类产生子在父类的基础上创建出的新类,称为子类。父类产生子类的过程称为派生。父类可以是类的过程称为派生。父类可以是Visual FoxPro 6.0Visual FoxPro 6.0基类,基类,也可以是其他已存在的类。也可以
24、是其他已存在的类。q子类拥有父类的全部功能,即具有继承性,并在此基础子类拥有父类的全部功能,即具有继承性,并在此基础上,可以添加子类自己的功能。如果修改了父类的功能,上,可以添加子类自己的功能。如果修改了父类的功能,修改后的功能会自动反映到子类中。修改后的功能会自动反映到子类中。4 4类的特征类的特征 类具有抽象性、封装性、继承性、多态性等特征。类具有抽象性、封装性、继承性、多态性等特征。5 5Visual FoxPro 6.0Visual FoxPro 6.0中类的类型中类的类型 可以分为容器类和控件类。可以分为容器类和控件类。(1 1)容器类)容器类 容器类可以容纳别的对象,这些对象可以是
25、容器类对象,容器类可以容纳别的对象,这些对象可以是容器类对象,也可以是控制类对象,并且允许访问这些对象。也可以是控制类对象,并且允许访问这些对象。Visual FoxPro 6.0 程序设计.课件-14-Visual FoxPro 6.0提供的容器类的类别、名称和所能包含提供的容器类的类别、名称和所能包含的控件类对象见下表。的控件类对象见下表。Visual FoxPro 6.0 程序设计.课件-15-(2)控件类)控件类 控件类可以包含在容器类中,但不能容纳其他对象,它的封控件类可以包含在容器类中,但不能容纳其他对象,它的封装比容器类更为严密。容器类与控制类的根本区别在于,容器装比容器类更为严
26、密。容器类与控制类的根本区别在于,容器类可以按层次访问容器类中的对象;而控制类的对象都是同一类可以按层次访问容器类中的对象;而控制类的对象都是同一层的对象,不能再包含下一层对象。层的对象,不能再包含下一层对象。Visual FoxPro 6.0 程序设计.课件-16-7.2 7.2 表单设计表单设计 7.2.1 7.2.1 表单向导创建表单表单向导创建表单 7.2.2 7.2.2 表单设计器创建表单表单设计器创建表单 7.2.3 7.2.3 表单数据环境设计器表单数据环境设计器Visual FoxPro 6.0 程序设计.课件-17-7.2 表单设计q表单表单(Form)(Form)是是Vis
27、ual FoxPro Visual FoxPro 6.06.0中最常见的一种界面(窗中最常见的一种界面(窗口),是用于输入或显示某口),是用于输入或显示某种信息的界面。表单文件的种信息的界面。表单文件的扩展名为扩展名为“.scxscx”,表单保,表单保存后自动生成的表单备注文存后自动生成的表单备注文件的扩展名为件的扩展名为“.sctsct”。q表单被大量地应用于表单被大量地应用于WindowsWindows风格的人机交互界面的设计风格的人机交互界面的设计当中。表单也是进行程序设当中。表单也是进行程序设计的基础,可以通过表单的计的基础,可以通过表单的设计功能设计出各种形式的设计功能设计出各种形式
28、的程序界面。例如,对话框和程序界面。例如,对话框和窗口都是表单的不同表现形窗口都是表单的不同表现形式。式。图7-3 空表单Visual FoxPro 6.0 程序设计.课件-18-7.2.1 表单向导创建表单q使用表单向导可以创建出表单。表单向导将引导用户选使用表单向导可以创建出表单。表单向导将引导用户选择具体的表来产生一个实用的表维护窗口,窗口中含有择具体的表来产生一个实用的表维护窗口,窗口中含有所选中的字段,还包含提供给用户的各种操作按钮。所选中的字段,还包含提供给用户的各种操作按钮。q使用表单向导创建表单的优点是:步骤快速、简便,可使用表单向导创建表单的优点是:步骤快速、简便,可以避免代
29、码书写。缺点是:表单向导的简便性也使得它以避免代码书写。缺点是:表单向导的简便性也使得它只能按一定的模式来产生表单。只能按一定的模式来产生表单。1.1.表单向导的打开表单向导的打开 q在在“向导选取向导选取”对话框中选择对话框中选择“表单向导表单向导”选项,可以选项,可以打开表单向导,打开打开表单向导,打开“向导选取向导选取”对话框有以下对话框有以下3 3种方法:种方法:Visual FoxPro 6.0 程序设计.课件-19-表单向导的打开方法(表单向导的打开方法(1 1)单击单击“文件文件”|“新建新建”命令,在命令,在“新建新建”对话框中选中对话框中选中“表单表单”单选按钮按钮,然后单击
30、单选按钮按钮,然后单击“向导向导”按钮,如图按钮,如图7-4所示。所示。图7-4 打开“向导选取”对话框Visual FoxPro 6.0 程序设计.课件-20-在在“项目管理器项目管理器”窗口中选择窗口中选择“文档文档”选项卡的选项卡的“表单表单”项目,单击项目,单击“新建新建”按钮,如图按钮,如图7-5所示,然后在弹出的所示,然后在弹出的“新新建表单建表单”对话框中单击对话框中单击“表单向导表单向导”按钮,如图按钮,如图7-6所示所示 图7-5“项目管理器”窗口 图7-6“新建表单”对话框 表单向导的打开方法(表单向导的打开方法(2 2)Visual FoxPro 6.0 程序设计.课件-
31、21-表单向导的打开方法(表单向导的打开方法(3 3)还有一种最简便的方法是:单击还有一种最简便的方法是:单击“工具工具”|“向导向导”|“表单表单”命令命令 执行以上任意一种操作均可打开执行以上任意一种操作均可打开“向导选取向导选取”对话框,对话框,如图如图7-7所示,在列表框中选择所示,在列表框中选择“表单向导表单向导”选项,即可打开选项,即可打开表单向导。表单向导。图7-7“向导选取”对话框Visual FoxPro 6.0 程序设计.课件-22-(1 1)单击)单击“工具工具”|“|“向导向导”|“|“表单表单”命令,打开如图命令,打开如图7-7-7 7所示的所示的“向导选取向导选取”
32、对话框。在对话框。在“向导选取向导选取”对话框中对话框中选择选择“表单向导表单向导”选项,单击选项,单击“确定确定”按钮,打开表单按钮,打开表单向导,如图向导,如图7-87-8所示,表单向导最顶部的下拉列表框中显所示,表单向导最顶部的下拉列表框中显示当前正在进行的步骤,第示当前正在进行的步骤,第1 1个步骤是个步骤是“字段选取字段选取”。图7-8 步骤1-字段选取 2.2.使用表单向导创建表单使用表单向导创建表单Visual FoxPro 6.0 程序设计.课件-23-(2)字段选取。单击)字段选取。单击“数据库和表数据库和表”选项区的选项区的 对话按对话按钮,在弹出的对话框中选择表文件(如钮
33、,在弹出的对话框中选择表文件(如STUDENT),将),将“可用字段可用字段”列表框的所有字段移到列表框的所有字段移到“选择字段选择字段”列表框中,列表框中,并单击并单击“下一步下一步”按钮,进入表单向导的步骤按钮,进入表单向导的步骤2-选择表单样选择表单样式,如图式,如图7-9所示。所示。图7-9 步骤2-选择表单样式Visual FoxPro 6.0 程序设计.课件-24-(3)选择表单样式。在)选择表单样式。在“样式样式”列表框中选择列表框中选择“浮雕式浮雕式”样式,并单击样式,并单击“下一步下一步”按钮,进入步骤按钮,进入步骤2-排序次序,如排序次序,如图图7-10所示。所示。图7-1
34、0 步骤3-排序次序 Visual FoxPro 6.0 程序设计.课件-25-(4)排序次序。在)排序次序。在“可用的字段或索引标识可用的字段或索引标识”列表框中的学列表框中的学号字段以升序添加到号字段以升序添加到“选中字段选中字段”列表框中,然后单击列表框中,然后单击“下下一步一步”按钮,进入表单向导的步骤按钮,进入表单向导的步骤4-完成,如图完成,如图7-11所示。所示。图7-11 步骤4-“完成”对话框 Visual FoxPro 6.0 程序设计.课件-26-(5 5)完成。在)完成。在“完成完成”对话框中的对话框中的“请输入表单标题请输入表单标题”文文本框中输入本框中输入“学生基本
35、信息学生基本信息”,再单击,再单击“完成完成”按钮,按钮,在弹出的对话框中输入表单文件名在弹出的对话框中输入表单文件名xsjbxxxsjbxx并保存。并保存。3.3.表单的保存表单的保存q在表单设计或修改后,单击在表单设计或修改后,单击“文件文件”|“|“保存保存”命令或单命令或单击常用工具栏的击常用工具栏的“保存保存”按钮,在弹出的对话框中输入按钮,在弹出的对话框中输入一个具体的文件名,单击一个具体的文件名,单击“确定确定”按钮,就将设计的表按钮,就将设计的表单保存到表单文件中了。单保存到表单文件中了。Visual FoxPro 6.0 程序设计.课件-27-4.4.运行表单运行表单q单击单
36、击“程序程序”|“|“运行运行”命令,在弹出的对话框中选中表命令,在弹出的对话框中选中表单文件,单击单文件,单击“运行运行”按钮,结果如图按钮,结果如图7-127-12所示。所示。q运行表单还可以在命令窗口中输入命令:运行表单还可以在命令窗口中输入命令:DO FORM DO FORM 图7-12 表单运行结果Visual FoxPro 6.0 程序设计.课件-28-7.2.2 表单设计器创建表单q使用表单设计器也可以创建出表单。表单设计器是使用表单设计器也可以创建出表单。表单设计器是Visual FoxPro 6.0Visual FoxPro 6.0提供的一个功能非常强大的表单设计提供的一个功
37、能非常强大的表单设计工具,它是一个可视化工具,表单的全部设计工作都在工具,它是一个可视化工具,表单的全部设计工作都在表单设计器中完成。下面介绍如何使用表单设计器来创表单设计器中完成。下面介绍如何使用表单设计器来创建表单。建表单。1.表单设计器的打开及表单的新建q使用表单设计器创建表单首先要打开表单设计器,并新使用表单设计器创建表单首先要打开表单设计器,并新建一个表单,其方法有以下建一个表单,其方法有以下3 3种:种:q单击单击“文件文件”|“|“新建新建”命令,在打开的命令,在打开的“新建新建”对话框对话框中单击中单击“表单表单”单选按钮再单击单选按钮再单击“新建文件新建文件”按钮。按钮。q在
38、在“项目管理器项目管理器”窗口中单击窗口中单击“文档文档”选项卡,选中选项卡,选中“表单表单”单选按钮再单击单选按钮再单击“新建新建”按钮。按钮。q在命令窗口中输入在命令窗口中输入CREATE FORMCREATE FORM命令。命令。q打开后的表单设计器如图打开后的表单设计器如图7-137-13所示。所示。Visual FoxPro 6.0 程序设计.课件-29-Visual FoxPro 6.0 程序设计.课件-30-表表7-3 表单设计器工具栏的工具按钮表单设计器工具栏的工具按钮Visual FoxPro 6.0 程序设计.课件-31-表表7-4 布局工具栏的工具按钮布局工具栏的工具按钮
39、Visual FoxPro 6.0 程序设计.课件-32-表表7-5 表单控件工具栏的工具按钮(表单控件工具栏的工具按钮(1)Visual FoxPro 6.0 程序设计.课件-33-续表续表7-5 表单控件工具栏的工具按钮(表单控件工具栏的工具按钮(2)Visual FoxPro 6.0 程序设计.课件-34-“前景色前景色”工具工具 :用于设置控件的默认前景色。:用于设置控件的默认前景色。“背景色背景色”工具工具 :设置控件的默认背景色。:设置控件的默认背景色。“其它颜色其它颜色”工具工具 :可自定义颜色。:可自定义颜色。在工具栏内还有一些在工具栏内还有一些“黑色黑色”、“白色白色”、“红
40、色红色”等基本颜色按钮。等基本颜色按钮。p 调色板工具栏:调色板工具栏:可使用调色板工具设定表单或报表上各可使用调色板工具设定表单或报表上各控件的颜色。此工具栏包括如下按钮:控件的颜色。此工具栏包括如下按钮:Visual FoxPro 6.0 程序设计.课件-35-2.2.表单的设计表单的设计表单的设计的一般步骤如下:表单的设计的一般步骤如下:(1 1)设计界面)设计界面 界面由表单和表单控件两部分组成。表单就是我们界面由表单和表单控件两部分组成。表单就是我们进行界面设计时在其上画控件的窗口。表单控件就在表进行界面设计时在其上画控件的窗口。表单控件就在表单运行时提供给用户阅读和操作的对象。根据
41、设计要求,单运行时提供给用户阅读和操作的对象。根据设计要求,用表单控件工具栏中的控件,在表单文档窗口中的表单用表单控件工具栏中的控件,在表单文档窗口中的表单上画出界面。然后调整各控件的位置与尺寸。上画出界面。然后调整各控件的位置与尺寸。(2 2)属性设置)属性设置 对表单和表单控件性进行相关的属性设置。通过修改对表单和表单控件性进行相关的属性设置。通过修改对象的属性能够控制对象的外观和操作。设置方法有如对象的属性能够控制对象的外观和操作。设置方法有如下两种:下两种:q在属性窗口中设置。选定对象,然后在属性窗口中找到在属性窗口中设置。选定对象,然后在属性窗口中找到相应属性直接设置。相应属性直接设
42、置。q在代码中通过编程设置。其格式为:在代码中通过编程设置。其格式为:对象名属性名属性值对象名属性名属性值Visual FoxPro 6.0 程序设计.课件-36-(3 3)编写事件过程代码)编写事件过程代码q双击表单文档窗口中的表单或表单控件,就可打开代码窗口来编双击表单文档窗口中的表单或表单控件,就可打开代码窗口来编写代码。这里的过程指的是一组写代码。这里的过程指的是一组VFPVFP语句。事件过程是为响应在语句。事件过程是为响应在对象上发生的对象上发生的“事件事件”所进行的操作。所进行的操作。q如图如图7-147-14所示的操作,就是在为一个命令按钮编写单击事件的过所示的操作,就是在为一个
43、命令按钮编写单击事件的过程。其操作步骤是:先双击命令按钮,在弹出的代码窗口中的对程。其操作步骤是:先双击命令按钮,在弹出的代码窗口中的对象框中会出现对象的名称;接着在代码窗口的过程框中选择单击象框中会出现对象的名称;接着在代码窗口的过程框中选择单击事件事件“Click”Click”;然后,在编辑区中输入代码:;然后,在编辑区中输入代码:thisform.captionthisform.caption=“=“例题例题”。该过程的功能是将当前表单的标该过程的功能是将当前表单的标题属性设置成了题属性设置成了“例题例题”。图7-14 编写过程Visual FoxPro 6.0 程序设计.课件-37-(
44、4 4)保存并运行表单)保存并运行表单q保存表单后,运行表单以测试效果。如果对表单的设计保存表单后,运行表单以测试效果。如果对表单的设计效果不满意,可继续修改。如果表单已打开,可直接利效果不满意,可继续修改。如果表单已打开,可直接利用设计器进一步设计。如果表单已经关闭,则可以通过用设计器进一步设计。如果表单已经关闭,则可以通过以下几种方式打开:以下几种方式打开:q单击单击“文件文件”|“|“打开打开”命令,在弹出的命令,在弹出的“打开打开”对话框对话框中选择已存在的表单文件并单击中选择已存在的表单文件并单击“确定确定”按钮。按钮。q在命令窗口中输入如下命令:在命令窗口中输入如下命令:MODIF
45、Y FORM MODIFY FORM q在在“项目管理器项目管理器”窗口中选择窗口中选择“文档文档”选项卡,选中选项卡,选中“表单表单”中已存在的表单并单击中已存在的表单并单击“修改修改”按钮。按钮。Visual FoxPro 6.0 程序设计.课件-38-3.3.表单设计中的基本操作表单设计中的基本操作 在表单设计器中,我们可以对新建的、或已存在的在表单设计器中,我们可以对新建的、或已存在的表单根据具体的程序要求来进行详细的设计。其中包括表单根据具体的程序要求来进行详细的设计。其中包括设置表单的操作和设置表单控件的操作。设置表单的操作和设置表单控件的操作。(1 1)表单的属性)表单的属性 表
46、单的属性就是它的特征。例如表单的位置、大小、表单的属性就是它的特征。例如表单的位置、大小、样式、边框以及是否可以缩放和关闭等。表单的常用的样式、边框以及是否可以缩放和关闭等。表单的常用的属性见表属性见表7-67-6。Visual FoxPro 6.0 程序设计.课件-39-表表7-6 7-6 表单的常用的属性表单的常用的属性Visual FoxPro 6.0 程序设计.课件-40-(2 2)表单常用事件与方法)表单常用事件与方法q常用的事件(常用的事件(EventEvent)有:)有:InitInit、LoadLoad、UnloadUnload、ClickClick、DblClickDblCl
47、ick事件等。事件等。q其中,其中,Init EventInit Event是表单的初始化事件。初始化是指运是表单的初始化事件。初始化是指运行表单时首先执行的事件过程。表单中变量的定义、初行表单时首先执行的事件过程。表单中变量的定义、初值的设定、数据表的打开等工作,都可以在初始化中完值的设定、数据表的打开等工作,都可以在初始化中完成。成。qUnload EventUnload Event事件是在表单释放时产生的事件。通常,事件是在表单释放时产生的事件。通常,在该事件过程中加入一些表单执行结束时的善后工作。在该事件过程中加入一些表单执行结束时的善后工作。q常用的方法有:常用的方法有:Releas
48、eRelease方法,方法,RefreshRefresh方法,方法,ShowShow方法,方法,HideHide方法等。方法等。ReleaseRelease方法是从计算机内存中释放表单;方法是从计算机内存中释放表单;RefreshRefresh方法是刷新表单;方法是刷新表单;ShowShow方法是显示表单;方法是显示表单;HideHide方方法是隐藏表单。法是隐藏表单。Visual FoxPro 6.0 程序设计.课件-41-(3 3)设置表单的操作)设置表单的操作 表单的属性可以通过属性窗口来设置。表单的属性可以通过属性窗口来设置。表单的属性窗口表单的属性窗口q表单设计器打开后,选择表单设计
49、器打开后,选择“显示显示”|“|“属性属性”命令,或者命令,或者单击表单设计器工具栏的单击表单设计器工具栏的“属性窗口属性窗口”按钮,就会显示按钮,就会显示表单属性窗口。如图表单属性窗口。如图7-157-15所示,属性窗口顶部是对象组所示,属性窗口顶部是对象组合框,中间部分是属性分类选项卡,底部是属性信息显合框,中间部分是属性分类选项卡,底部是属性信息显示框;在属性分类选项卡中又包含了属性列表框和属性示框;在属性分类选项卡中又包含了属性列表框和属性设置框。设置框。Visual FoxPro 6.0 程序设计.课件-42-图7-15 表单属性窗口Visual FoxPro 6.0 程序设计.课件
50、-43-【例例7-1】将表单标题将表单标题“Form1”改为改为“我的例我的例题题”。在命令窗口中使用在命令窗口中使用 CREATE FORM命命令,令,打开表单设计器。打开表单设计器。然后在属性窗口中选然后在属性窗口中选择择Caption属性,再属性,再在属性设置框中输入在属性设置框中输入“我的例题我的例题”,并按,并按回车键或单击回车键或单击“”按按钮,如图钮,如图7-16所示。所示。图7-16 设置表单属性Visual FoxPro 6.0 程序设计.课件-44-(4 4)设置表单控件的操作)设置表单控件的操作 设计表单时,根据程序的具体要设计表单时,根据程序的具体要求,要在表单中添加各