第6章表单设计与应用.ppt
表单设计与应用第6章26.1面向对象程序设计的基本概念 Visual FoxProVisual FoxProVisual FoxProVisual FoxPro不但支持传统的面向过程的程序不但支持传统的面向过程的程序不但支持传统的面向过程的程序不但支持传统的面向过程的程序设计,而且也提供了面向对象可视化程序设计功能。设计,而且也提供了面向对象可视化程序设计功能。设计,而且也提供了面向对象可视化程序设计功能。设计,而且也提供了面向对象可视化程序设计功能。面向过程的程序设计采取结构化的程序设计方法,面向过程的程序设计采取结构化的程序设计方法,面向过程的程序设计采取结构化的程序设计方法,面向过程的程序设计采取结构化的程序设计方法,程序是由传递参数的程序和函数的集合组成,每个程序是由传递参数的程序和函数的集合组成,每个程序是由传递参数的程序和函数的集合组成,每个程序是由传递参数的程序和函数的集合组成,每个过程处理它的参数,并可能返回某个值,这种程序过程处理它的参数,并可能返回某个值,这种程序过程处理它的参数,并可能返回某个值,这种程序过程处理它的参数,并可能返回某个值,这种程序是以过程为中心的。程序员是基于过程来组织模块是以过程为中心的。程序员是基于过程来组织模块是以过程为中心的。程序员是基于过程来组织模块是以过程为中心的。程序员是基于过程来组织模块的,这必然会导致程序的结构与实际应用领域中的的,这必然会导致程序的结构与实际应用领域中的的,这必然会导致程序的结构与实际应用领域中的的,这必然会导致程序的结构与实际应用领域中的结构相差很大。结构相差很大。结构相差很大。结构相差很大。面向对象的程序设计方法是一种系统化的程序设计面向对象的程序设计方法是一种系统化的程序设计面向对象的程序设计方法是一种系统化的程序设计面向对象的程序设计方法是一种系统化的程序设计方法。它允许抽象化、模块化的分层结构,具有多方法。它允许抽象化、模块化的分层结构,具有多方法。它允许抽象化、模块化的分层结构,具有多方法。它允许抽象化、模块化的分层结构,具有多态性、继承性和封装性。态性、继承性和封装性。态性、继承性和封装性。态性、继承性和封装性。3对象与类对象对象对象对象(Object)(Object)(Object)(Object)对象可以是现实世界中的任何物体,例如一扇窗户可以对象可以是现实世界中的任何物体,例如一扇窗户可以对象可以是现实世界中的任何物体,例如一扇窗户可以对象可以是现实世界中的任何物体,例如一扇窗户可以作为对象,一辆汽车可以作为对象,一台计算机可以作作为对象,一辆汽车可以作为对象,一台计算机可以作作为对象,一辆汽车可以作为对象,一台计算机可以作作为对象,一辆汽车可以作为对象,一台计算机可以作为对象。为对象。为对象。为对象。类类类类(Class)(Class)(Class)(Class)类是对一组相似对象的性质描述,这些对象具有相同种类是对一组相似对象的性质描述,这些对象具有相同种类是对一组相似对象的性质描述,这些对象具有相同种类是对一组相似对象的性质描述,这些对象具有相同种类的属性和方法。类的属性和方法。类的属性和方法。类的属性和方法。4容器类和控件类对象是在类的基础上建立起来的,所以对象的种类对象是在类的基础上建立起来的,所以对象的种类对象是在类的基础上建立起来的,所以对象的种类对象是在类的基础上建立起来的,所以对象的种类是由类决定的。是由类决定的。是由类决定的。是由类决定的。Visual FoxProVisual FoxProVisual FoxProVisual FoxPro中的类分为两大类型:容器类和控中的类分为两大类型:容器类和控中的类分为两大类型:容器类和控中的类分为两大类型:容器类和控件类。件类。件类。件类。(1 1 1 1)容器类。)容器类。)容器类。)容器类。容器类派生的对象可以包含其他对象,并且允许访问这容器类派生的对象可以包含其他对象,并且允许访问这容器类派生的对象可以包含其他对象,并且允许访问这容器类派生的对象可以包含其他对象,并且允许访问这些对象。些对象。些对象。些对象。(2 2 2 2)控件类。)控件类。)控件类。)控件类。控件类派生的对象是一个相对独立的整体,不能包含其控件类派生的对象是一个相对独立的整体,不能包含其控件类派生的对象是一个相对独立的整体,不能包含其控件类派生的对象是一个相对独立的整体,不能包含其他对象。控件类是可以包含在容器类中并由用户派生的他对象。控件类是可以包含在容器类中并由用户派生的他对象。控件类是可以包含在容器类中并由用户派生的他对象。控件类是可以包含在容器类中并由用户派生的Visual FoxProVisual FoxProVisual FoxProVisual FoxPro基类。基类。基类。基类。5Visual FoxPro对象类6对象的引用层次对对对对象象象象之之之之间间间间包包包包含含含含与与与与被被被被包包包包含含含含的的的的关关关关系系系系,产产产产生生生生了了了了对对对对象象象象的的的的层层层层次次次次关系。关系。关系。关系。容容容容器器器器内内内内的的的的对对对对象象象象还还还还可可可可以以以以再再再再作作作作为为为为其其其其它它它它对对对对象象象象的的的的容容容容器器器器,不不不不同同同同的的的的容容容容器所能包含的对象也不同。器所能包含的对象也不同。器所能包含的对象也不同。器所能包含的对象也不同。在对象的嵌套方式中,如果要引用其中的某个对象,在对象的嵌套方式中,如果要引用其中的某个对象,在对象的嵌套方式中,如果要引用其中的某个对象,在对象的嵌套方式中,如果要引用其中的某个对象,就要指明对象在容器嵌套层次中的位置就要指明对象在容器嵌套层次中的位置就要指明对象在容器嵌套层次中的位置就要指明对象在容器嵌套层次中的位置引用格式中用点引用格式中用点引用格式中用点引用格式中用点“.”分隔对象、控件、和属性或方法。分隔对象、控件、和属性或方法。分隔对象、控件、和属性或方法。分隔对象、控件、和属性或方法。设置属性:表单设置属性:表单设置属性:表单设置属性:表单.控件控件控件控件.属性属性值属性属性值属性属性值属性属性值调用方法:表单调用方法:表单调用方法:表单调用方法:表单.控件控件控件控件.方法方法方法方法7对象的引用层次绝对引用对象绝对引用对象绝对引用对象绝对引用对象从窗口的最上层开始,一层层向下,提供完整的对象地从窗口的最上层开始,一层层向下,提供完整的对象地从窗口的最上层开始,一层层向下,提供完整的对象地从窗口的最上层开始,一层层向下,提供完整的对象地址。址。址。址。相对引用对象相对引用对象相对引用对象相对引用对象可以利用可以利用可以利用可以利用Visual FoxProVisual FoxProVisual FoxProVisual FoxPro所提供的关键字,从对象层次中所提供的关键字,从对象层次中所提供的关键字,从对象层次中所提供的关键字,从对象层次中的相对位置引用对象的相对位置引用对象的相对位置引用对象的相对位置引用对象关键字关键字关键字含义关键字含义THIS当前对象当前对象THISFORM包含当前对象的表单包含当前对象的表单THISFORMSET包含当前对象的表单集包含当前对象的表单集86.2 VFP中常用属性、事件和方法6.2.1 VFP6.2.1 VFP中对象的常用属性中对象的常用属性中对象的常用属性中对象的常用属性布局和修饰属性布局和修饰属性布局和修饰属性布局和修饰属性BackColorBackColor属性:用于指定对象内文本和图形的背景色;属性:用于指定对象内文本和图形的背景色;属性:用于指定对象内文本和图形的背景色;属性:用于指定对象内文本和图形的背景色;ForeColorForeColor属性:用于指定对象内文本和图形的前景色。属性:用于指定对象内文本和图形的前景色。属性:用于指定对象内文本和图形的前景色。属性:用于指定对象内文本和图形的前景色。例如,要设置表单例如,要设置表单例如,要设置表单例如,要设置表单Form1Form1中文本框中文本框中文本框中文本框Text1Text1的前景色为的前景色为的前景色为的前景色为红色、背景色为黑色,则代码为:红色、背景色为黑色,则代码为:红色、背景色为黑色,则代码为:红色、背景色为黑色,则代码为:ThisForm.Text1.BackColor=RGB(0,0,0)ThisForm.Text1.BackColor=RGB(0,0,0)ThisForm.Text1.ForeColor=RGB(255,0,0)ThisForm.Text1.ForeColor=RGB(255,0,0)96.2.1 VFP中对象的常用属性CaptionCaption属性属性属性属性用于指定对象的标题用于指定对象的标题用于指定对象的标题用于指定对象的标题如要把表单如要把表单如要把表单如要把表单Form1Form1的标题设置为的标题设置为的标题设置为的标题设置为“学生学生学生学生”,则代码,则代码,则代码,则代码为:为:为:为:ThisForm.Caption=“ThisForm.Caption=“学生学生学生学生”CurvatureCurvature属性属性属性属性用于指定用于指定用于指定用于指定ShapeShape控件的拐角曲率,设置值为数值。控件的拐角曲率,设置值为数值。控件的拐角曲率,设置值为数值。控件的拐角曲率,设置值为数值。0 0为没有曲率,建立的是直线拐角;为没有曲率,建立的是直线拐角;为没有曲率,建立的是直线拐角;为没有曲率,建立的是直线拐角;1-981-98为圆角拐角,值越大,曲率越大为圆角拐角,值越大,曲率越大为圆角拐角,值越大,曲率越大为圆角拐角,值越大,曲率越大9999为最大曲率,创建圆或椭圆。为最大曲率,创建圆或椭圆。为最大曲率,创建圆或椭圆。为最大曲率,创建圆或椭圆。FontNameFontName属性:用于指定显示文本时的字体名称属性:用于指定显示文本时的字体名称属性:用于指定显示文本时的字体名称属性:用于指定显示文本时的字体名称FontSizeFontSize属性:用于指定显示文本时的字体大小属性:用于指定显示文本时的字体大小属性:用于指定显示文本时的字体大小属性:用于指定显示文本时的字体大小106.2.1 VFP中对象的常用属性HeightHeight属性属性属性属性用于指定屏幕上某个对象的高度(像素)用于指定屏幕上某个对象的高度(像素)用于指定屏幕上某个对象的高度(像素)用于指定屏幕上某个对象的高度(像素)WidthWidth属性属性属性属性用于指定屏幕上某个对象的宽度(像素)用于指定屏幕上某个对象的宽度(像素)用于指定屏幕上某个对象的宽度(像素)用于指定屏幕上某个对象的宽度(像素)LeftLeft属性属性属性属性用于指定控件左边相对于其父对象的位置(像素)用于指定控件左边相对于其父对象的位置(像素)用于指定控件左边相对于其父对象的位置(像素)用于指定控件左边相对于其父对象的位置(像素)TopTop属性属性属性属性用于指定控件顶边相对于其父对象顶边的位置(像用于指定控件顶边相对于其父对象顶边的位置(像用于指定控件顶边相对于其父对象顶边的位置(像用于指定控件顶边相对于其父对象顶边的位置(像素)素)素)素)116.2.1 VFP中对象的常用属性数据属性数据属性数据属性数据属性ButtonCount ButtonCount 属性:用于指定命令按钮组或选项按钮组属性:用于指定命令按钮组或选项按钮组属性:用于指定命令按钮组或选项按钮组属性:用于指定命令按钮组或选项按钮组中包含的按钮数;中包含的按钮数;中包含的按钮数;中包含的按钮数;ButtonsButtons属性:用于指定命令按钮组或选项按钮组中第属性:用于指定命令按钮组或选项按钮组中第属性:用于指定命令按钮组或选项按钮组中第属性:用于指定命令按钮组或选项按钮组中第几个按钮,数组的下标介于几个按钮,数组的下标介于几个按钮,数组的下标介于几个按钮,数组的下标介于1 ButtonCount1 ButtonCount之间。之间。之间。之间。例如,现有一个命令按钮组例如,现有一个命令按钮组例如,现有一个命令按钮组例如,现有一个命令按钮组CommandGroup1CommandGroup1,如,如,如,如果要设置第二个命令按钮的标题为果要设置第二个命令按钮的标题为果要设置第二个命令按钮的标题为果要设置第二个命令按钮的标题为“确定确定确定确定”,则代,则代,则代,则代码为:码为:码为:码为:Thisform.CommandGroup1.Buttons(2).Caption=“Thisform.CommandGroup1.Buttons(2).Caption=“确定确定确定确定”ValueValue属性属性属性属性用于指定控件当前状态。用于指定控件当前状态。用于指定控件当前状态。用于指定控件当前状态。大多数控件有该属性,如文本框、组合框、列表框大多数控件有该属性,如文本框、组合框、列表框大多数控件有该属性,如文本框、组合框、列表框大多数控件有该属性,如文本框、组合框、列表框等等等等126.2.1 VFP中对象的常用属性状态属性状态属性状态属性状态属性EnabledEnabled属性属性属性属性用于指定对象是否响应由用户触发的事件。用于指定对象是否响应由用户触发的事件。用于指定对象是否响应由用户触发的事件。用于指定对象是否响应由用户触发的事件。值为逻辑值,缺省值为值为逻辑值,缺省值为值为逻辑值,缺省值为值为逻辑值,缺省值为.T.T.(响应用户触发的事件)。(响应用户触发的事件)。(响应用户触发的事件)。(响应用户触发的事件)。ReadOnlyReadOnly属性属性属性属性用于指定用户能否编辑该控件,或指定与临时表对用于指定用户能否编辑该控件,或指定与临时表对用于指定用户能否编辑该控件,或指定与临时表对用于指定用户能否编辑该控件,或指定与临时表对象相关联的表或视图是否允许更新。象相关联的表或视图是否允许更新。象相关联的表或视图是否允许更新。象相关联的表或视图是否允许更新。值为逻辑值,缺省值为值为逻辑值,缺省值为值为逻辑值,缺省值为值为逻辑值,缺省值为.F.F.(可以编辑)。(可以编辑)。(可以编辑)。(可以编辑)。VisibleVisible属性属性属性属性该属性用于指定对象是否可见。该属性用于指定对象是否可见。该属性用于指定对象是否可见。该属性用于指定对象是否可见。值为逻辑值,缺省值为值为逻辑值,缺省值为值为逻辑值,缺省值为值为逻辑值,缺省值为.T.T.(可见)。(可见)。(可见)。(可见)。136.2.2对象的常用事件1 1 1 1ActivateActivateActivateActivate事件事件事件事件发生时机:当激活表单、表单集或页对象,或者显示工发生时机:当激活表单、表单集或页对象,或者显示工发生时机:当激活表单、表单集或页对象,或者显示工发生时机:当激活表单、表单集或页对象,或者显示工具栏对象时,将触发具栏对象时,将触发具栏对象时,将触发具栏对象时,将触发ActivateActivateActivateActivate事件。事件。事件。事件。应用于:表单、表单集、页面和工具栏。应用于:表单、表单集、页面和工具栏。应用于:表单、表单集、页面和工具栏。应用于:表单、表单集、页面和工具栏。语法格式:对象语法格式:对象语法格式:对象语法格式:对象.Activate.Activate.Activate.Activate2 2 2 2TimerTimerTimerTimer事件事件事件事件发生时机:当经过发生时机:当经过发生时机:当经过发生时机:当经过IntervalIntervalIntervalInterval属性中指定的毫秒数时,触属性中指定的毫秒数时,触属性中指定的毫秒数时,触属性中指定的毫秒数时,触发该事件。发该事件。发该事件。发该事件。应用于:计时器。应用于:计时器。应用于:计时器。应用于:计时器。语法格式:语法格式:语法格式:语法格式:Timer.TimerTimer.TimerTimer.TimerTimer.Timer146.2.2对象的常用事件3 3 3 3ClickClickClickClick事件事件事件事件发生时机:当对象程序中包含触发此事件的代码,用户发生时机:当对象程序中包含触发此事件的代码,用户发生时机:当对象程序中包含触发此事件的代码,用户发生时机:当对象程序中包含触发此事件的代码,用户单击对象时将触发该事件单击对象时将触发该事件单击对象时将触发该事件单击对象时将触发该事件应用于:复选框、组合框、命令按钮、命令组、容器对应用于:复选框、组合框、命令按钮、命令组、容器对应用于:复选框、组合框、命令按钮、命令组、容器对应用于:复选框、组合框、命令按钮、命令组、容器对象、控件对象、编辑框、表单、表格、标头、图像、标象、控件对象、编辑框、表单、表格、标头、图像、标象、控件对象、编辑框、表单、表格、标头、图像、标象、控件对象、编辑框、表单、表格、标头、图像、标签、线条、列表框、选项按钮、选项组、页面、页框、签、线条、列表框、选项按钮、选项组、页面、页框、签、线条、列表框、选项按钮、选项组、页面、页框、签、线条、列表框、选项按钮、选项组、页面、页框、形状、微调、文本框和工具栏。形状、微调、文本框和工具栏。形状、微调、文本框和工具栏。形状、微调、文本框和工具栏。语法格式:对象语法格式:对象语法格式:对象语法格式:对象.Click.Click.Click.Click几乎几乎几乎几乎Visual FoxProVisual FoxProVisual FoxProVisual FoxPro中所有的对象都有该事件,最常用的中所有的对象都有该事件,最常用的中所有的对象都有该事件,最常用的中所有的对象都有该事件,最常用的是命令按钮的是命令按钮的是命令按钮的是命令按钮的clickclickclickclick事件。事件。事件。事件。156.2.2对象的常用事件4 4 4 4InitInitInitInit事件事件事件事件发生时机:在创建对象时发生。发生时机:在创建对象时发生。发生时机:在创建对象时发生。发生时机:在创建对象时发生。应用于:复选框、组合框、命令按钮、命令组、容器对应用于:复选框、组合框、命令按钮、命令组、容器对应用于:复选框、组合框、命令按钮、命令组、容器对应用于:复选框、组合框、命令按钮、命令组、容器对象、控件对象、临时表、自定义控件、数据环境、编辑象、控件对象、临时表、自定义控件、数据环境、编辑象、控件对象、临时表、自定义控件、数据环境、编辑象、控件对象、临时表、自定义控件、数据环境、编辑框、表单、表单集、表格、图像、标签、线条、列表框、框、表单、表单集、表格、图像、标签、线条、列表框、框、表单、表单集、表格、图像、标签、线条、列表框、框、表单、表单集、表格、图像、标签、线条、列表框、OLEOLEOLEOLE绑定型控件、绑定型控件、绑定型控件、绑定型控件、OLEOLEOLEOLE容器控件、选项按钮、选项组、页容器控件、选项按钮、选项组、页容器控件、选项按钮、选项组、页容器控件、选项按钮、选项组、页面、页框、关系、形状、微调、文本框、计时器和工具面、页框、关系、形状、微调、文本框、计时器和工具面、页框、关系、形状、微调、文本框、计时器和工具面、页框、关系、形状、微调、文本框、计时器和工具栏。栏。栏。栏。语法格式:语法格式:语法格式:语法格式:对象对象对象对象.Init.Init.Init.Init 166.2.2对象的常用事件5 5 5 5InteractiveChangeInteractiveChangeInteractiveChangeInteractiveChange事件事件事件事件发生时机:在使用键盘或鼠标更改控件的值时,触发该发生时机:在使用键盘或鼠标更改控件的值时,触发该发生时机:在使用键盘或鼠标更改控件的值时,触发该发生时机:在使用键盘或鼠标更改控件的值时,触发该事件。事件。事件。事件。应用于:复选框、组合框、命令组、编辑框、列表框、应用于:复选框、组合框、命令组、编辑框、列表框、应用于:复选框、组合框、命令组、编辑框、列表框、应用于:复选框、组合框、命令组、编辑框、列表框、选项组、微调和文本框。选项组、微调和文本框。选项组、微调和文本框。选项组、微调和文本框。语法格式:控件语法格式:控件语法格式:控件语法格式:控件.InteractiveChange.InteractiveChange.InteractiveChange.InteractiveChange注意:在每次单击或更改对象的值时都将触发该事件。注意:在每次单击或更改对象的值时都将触发该事件。注意:在每次单击或更改对象的值时都将触发该事件。注意:在每次单击或更改对象的值时都将触发该事件。176.2.2对象的常用事件6 6 6 6ValidValidValidValid事件事件事件事件发生时机:在控件失去焦点之前触发该事件。发生时机:在控件失去焦点之前触发该事件。发生时机:在控件失去焦点之前触发该事件。发生时机:在控件失去焦点之前触发该事件。应用于:复选框、组合框、命令按钮、命令组、编辑框、应用于:复选框、组合框、命令按钮、命令组、编辑框、应用于:复选框、组合框、命令按钮、命令组、编辑框、应用于:复选框、组合框、命令按钮、命令组、编辑框、表格、列表框、选项按钮、选项组、微调和文本框。表格、列表框、选项按钮、选项组、微调和文本框。表格、列表框、选项按钮、选项组、微调和文本框。表格、列表框、选项按钮、选项组、微调和文本框。语法格式:控件语法格式:控件语法格式:控件语法格式:控件.Valid.Valid.Valid.Valid说明:说明:说明:说明:ValidValidValidValid事件返回事件返回事件返回事件返回.T.T.T.T.、或非零数字时,表明该控件失、或非零数字时,表明该控件失、或非零数字时,表明该控件失、或非零数字时,表明该控件失去了焦点;当返回去了焦点;当返回去了焦点;当返回去了焦点;当返回.F.F.F.F.、或零时,表明该控件没有失去焦、或零时,表明该控件没有失去焦、或零时,表明该控件没有失去焦、或零时,表明该控件没有失去焦点。点。点。点。186.2.3VFP中对象的方法1 1 1 1AddItemAddItemAddItemAddItem方法方法方法方法功能:在组合框或列表框中添加一个新的数据项,并且功能:在组合框或列表框中添加一个新的数据项,并且功能:在组合框或列表框中添加一个新的数据项,并且功能:在组合框或列表框中添加一个新的数据项,并且可以指定数据项的索引。可以指定数据项的索引。可以指定数据项的索引。可以指定数据项的索引。应用于:组合框、列表框应用于:组合框、列表框应用于:组合框、列表框应用于:组合框、列表框语法格式语法格式语法格式语法格式控件控件控件控件.AddItem(.AddItem(.AddItem(.AddItem(字符串表达式字符串表达式字符串表达式字符串表达式,nIndex,nColumn),nIndex,nColumn),nIndex,nColumn),nIndex,nColumn)字符串表达式:是指添加到控件中的数据项。字符串表达式:是指添加到控件中的数据项。字符串表达式:是指添加到控件中的数据项。字符串表达式:是指添加到控件中的数据项。nIndexnIndexnIndexnIndex:指定数据项插入的位置。如果缺省,则:指定数据项插入的位置。如果缺省,则:指定数据项插入的位置。如果缺省,则:指定数据项插入的位置。如果缺省,则SortedSortedSortedSorted属性设置为属性设置为属性设置为属性设置为.T.T.T.T.,数据项按字母排序方式添,数据项按字母排序方式添,数据项按字母排序方式添,数据项按字母排序方式添加到队列;加到队列;加到队列;加到队列;SortedSortedSortedSorted属性设置为属性设置为属性设置为属性设置为.F.F.F.F.,数据项添加到,数据项添加到,数据项添加到,数据项添加到队列的末尾。队列的末尾。队列的末尾。队列的末尾。nColumnnColumnnColumnnColumn:指定数据项添加到第几列,缺省时为:指定数据项添加到第几列,缺省时为:指定数据项添加到第几列,缺省时为:指定数据项添加到第几列,缺省时为1 1 1 1。196.2.3VFP中对象的方法2 2 2 2ClearClearClearClear方法方法方法方法功能:清除组合框或列表框中的数据项。功能:清除组合框或列表框中的数据项。功能:清除组合框或列表框中的数据项。功能:清除组合框或列表框中的数据项。应用于:组合框、列表框应用于:组合框、列表框应用于:组合框、列表框应用于:组合框、列表框语法格式:控件语法格式:控件语法格式:控件语法格式:控件.Clear.Clear.Clear.Clear注意:注意:注意:注意:ClearClearClearClear方法只在组合框或列表框的方法只在组合框或列表框的方法只在组合框或列表框的方法只在组合框或列表框的RowSourceTypeRowSourceTypeRowSourceTypeRowSourceType属性设置为属性设置为属性设置为属性设置为0 0 0 0时才有效。它只用于代码窗口。时才有效。它只用于代码窗口。时才有效。它只用于代码窗口。时才有效。它只用于代码窗口。3 3 3 3HideHideHideHide方法方法方法方法功能:隐藏表单、表单集或工具栏。功能:隐藏表单、表单集或工具栏。功能:隐藏表单、表单集或工具栏。功能:隐藏表单、表单集或工具栏。应用于:表单、表单集、应用于:表单、表单集、应用于:表单、表单集、应用于:表单、表单集、SCREENSCREENSCREENSCREEN、工具栏、工具栏、工具栏、工具栏语法格式:对象语法格式:对象语法格式:对象语法格式:对象.Hide.Hide.Hide.Hide206.2.3VFP中对象的方法4 4 4 4RefreshRefreshRefreshRefresh方法方法方法方法功能:重画表单或控件并刷新所有值。功能:重画表单或控件并刷新所有值。功能:重画表单或控件并刷新所有值。功能:重画表单或控件并刷新所有值。应用于:几乎是应用于:几乎是应用于:几乎是应用于:几乎是Visual FoxProVisual FoxProVisual FoxProVisual FoxPro中所有的对象,包括:复中所有的对象,包括:复中所有的对象,包括:复中所有的对象,包括:复选框、列、组合框、命令按钮、命令组、容器对象、控选框、列、组合框、命令按钮、命令组、容器对象、控选框、列、组合框、命令按钮、命令组、容器对象、控选框、列、组合框、命令按钮、命令组、容器对象、控件对象、编辑框、表单、表单集、表格、标头、列表框、件对象、编辑框、表单、表单集、表格、标头、列表框、件对象、编辑框、表单、表单集、表格、标头、列表框、件对象、编辑框、表单、表单集、表格、标头、列表框、OLEOLEOLEOLE绑定型控件、绑定型控件、绑定型控件、绑定型控件、OLEOLEOLEOLE容器控件、选项按钮、选项组、页容器控件、选项按钮、选项组、页容器控件、选项按钮、选项组、页容器控件、选项按钮、选项组、页面、页框、面、页框、面、页框、面、页框、_SCREEN_SCREEN_SCREEN_SCREEN、微调、文本框和工具栏。、微调、文本框和工具栏。、微调、文本框和工具栏。、微调、文本框和工具栏。语法格式:对象语法格式:对象语法格式:对象语法格式:对象.Refresh.Refresh.Refresh.Refresh5 5 5 5ReleaseReleaseReleaseRelease方法方法方法方法功能:释放表单集或表单。功能:释放表单集或表单。功能:释放表单集或表单。功能:释放表单集或表单。应用于:表单、表单集、应用于:表单、表单集、应用于:表单、表单集、应用于:表单、表单集、SCREENSCREENSCREENSCREEN语法格式:对象语法格式:对象语法格式:对象语法格式:对象.Release.Release.Release.Release。216.2.3VFP中对象的方法6 6 6 6SetFocusSetFocusSetFocusSetFocus方法方法方法方法功能:为一个控件指定焦点,确定当前的操作对象。功能:为一个控件指定焦点,确定当前的操作对象。功能:为一个控件指定焦点,确定当前的操作对象。功能:为一个控件指定焦点,确定当前的操作对象。应用于:复选框、列、组合框、命令按钮、容器对象、应用于:复选框、列、组合框、命令按钮、容器对象、应用于:复选框、列、组合框、命令按钮、容器对象、应用于:复选框、列、组合框、命令按钮、容器对象、控件对象、编辑框、表格、列表框、控件对象、编辑框、表格、列表框、控件对象、编辑框、表格、列表框、控件对象、编辑框、表格、列表框、OLEOLEOLEOLE绑定型控件、绑定型控件、绑定型控件、绑定型控件、OLEOLEOLEOLE容器控件、选项按钮、微调和文本框。容器控件、选项按钮、微调和文本框。容器控件、选项按钮、微调和文本框。容器控件、选项按钮、微调和文本框。语法格式:对象语法格式:对象语法格式:对象语法格式:对象.SetFocus.SetFocus.SetFocus.SetFocus7 7 7 7ShowShowShowShow方法方法方法方法功能:显示表单、表单集或工具栏。功能:显示表单、表单集或工具栏。功能:显示表单、表单集或工具栏。功能:显示表单、表单集或工具栏。应用于:表单、表单集、应用于:表单、表单集、应用于:表单、表单集、应用于:表单、表单集、_SCREEN_SCREEN_SCREEN_SCREEN和工具栏。和工具栏。和工具栏。和工具栏。语法格式:对象语法格式:对象语法格式:对象语法格式:对象.Show.Show.Show.Show226.3 创建表单表单相关文件有两种,一种为表单相关文件有两种,一种为表单相关文件有两种,一种为表单相关文件有两种,一种为.SCX.SCX.SCX.SCX(表单文件),(表单文件),(表单文件),(表单文件),另一种为另一种为另一种为另一种为.SCT.SCT.SCT.SCT(表单备注文件)。(表单备注文件)。(表单备注文件)。(表单备注文件)。在在在在Visual FoxProVisual FoxProVisual FoxProVisual FoxPro中,新建表单一般可以通过以下中,新建表单一般可以通过以下中,新建表单一般可以通过以下中,新建表单一般可以通过以下两种方法:两种方法:两种方法:两种方法:使用表单向导使用表单向导使用表单向导使用表单向导使用使用使用使用“表单设计器表单设计器表单设计器表单设计器”23表单控件工具栏24属性窗口25代码窗口一、代码窗口的构成一、代码窗口的构成一、代码窗口的构成一、代码窗口的构成表单中的每个控件对象都有自己的代码窗口,用于响应表单中的每个控件对象都有自己的代码窗口,用于响应表单中的每个控件对象都有自己的代码窗口,用于响应表单中的每个控件对象都有自己的代码窗口,用于响应各种事件。各种事件。各种事件。各种事件。打开对象的代码窗口有多种方法打开对象的代码窗口有多种方法打开对象的代码窗口有多种方法打开对象的代码窗口有多种方法在对象上双击鼠标在对象上双击鼠标在对象上双击鼠标在对象上双击鼠标单击表单设计器工具栏上的代码窗口的图标单击表单设计器工具栏上的代码窗口的图标单击表单设计器工具栏上的代码窗口的图标单击表单设计器工具栏上的代码窗口的图标26代码窗口二、在代码中设置属性二、在代码中设置属性二、在代码中设置属性二、在代码中设置属性1 1 1 1、设置一个控件的单个属性、设置一个控件的单个属性、设置一个控件的单个属性、设置一个控件的单个属性例如,将表单中标签例如,将表单中标签例如,将表单中标签例如,将表单中标签1 1 1 1的标题设为:的标题设为:的标题设为:的标题设为:“姓名姓名姓名姓名”,代码如下:,代码如下:,代码如下:,代码如下:thisform.label1.caption=thisform.label1.caption=thisform.label1.caption=thisform.label1.caption=”姓名姓名姓名姓名”也可以程序中动态地设置控件的属性,如根据文本框也可以程序中动态地设置控件的属性,如根据文本框也可以程序中动态地设置控件的属性,如根据文本框也可以程序中动态地设置控件的属性,如根据文本框1 1 1 1中中中中输入的学生姓名来指定标签输入的学生姓名来指定标签输入的学生姓名来指定标签输入的学生姓名来指定标签1 1 1 1的标题,代码如下:的标题,代码如下:的标题,代码如下:的标题,代码如下:thisform.label1.caption=alltrim(thisfrom.text1.vathisform.label1.caption=alltrim(thisfrom.text1.vathisform.label1.caption=alltrim(thisfrom.text1.vathisform.label1.caption=alltrim(thisfrom.text1.value)lue)lue)lue)2 2 2 2、设置一个控件的多个属性、设置一个控件的多个属性、设置一个控件的多个属性、设置一个控件的多个属性如果要对一个控件的多个属性设置,可以采用一次同时如果要对一个控件的多个属性设置,可以采用一次同时如果要对一个控件的多个属性设置,可以采用一次同时如果要对一个控件的多个属性设置,可以采用一次同时设置多个属性的方法,采用设置多个属性的方法,采用设置多个属性的方法,采用设置多个属性的方法,采用WITH.ENDWITHWITH.ENDWITHWITH.ENDWITHWITH.ENDWITH结构。结构。结构。结构。27代码窗口3 3 3 3、设置容器中的多个控件的多个属性、设置容器中的多个控件的多个属性、设置容器中的多个控件的多个属性、设置容器中的多个控件的多个属性例例例例:设设设设置置置置表表表表单单单单中中中中一一一一个个个个命命命命令令令令按按按按钮钮钮钮组组组组中中中中的的的的多多多多个个个个按按按按钮钮钮钮的的的的属属属属性性性性,可在表单中任何事件或方法程序代码中包含下面的语句:可在表单中任何事件或方法程序代码中包含下面的语句:可在表单中任何事件或方法程序代码中包含下面的语句:可在表单中任何事件或方法程序代码中包含下面的语句:n=THISFORM.commandgroup1.buttoncountn=THISFORM.commandgroup1.buttoncountFOR i=1 TO nFOR i=1 TO nWITH THISFORM.commandgroup1.button(i)WITH THISFORM.commandgroup1.button(i).Width=55.Width=55.Hight=20.Hight=20.Fontsize=12.Fontsize=12.ForeColor=RGB(255,0,0).ForeColor=RGB(255,0,0)ENDWITHENDWITHENDFORENDFOR28代码窗口三、在运行时调用方法程序三、在运行时调用方法程序三、在运行时调用方法程序三、在运行时调用方法程序调用对象的方法程序的语法是:调用对象的方法程序的语法是:调用对象的方法程序的语法是:调用对象的方法程序的语法是:Parent.Object.MethodParent.Object.MethodParent.Object.MethodParent.Object.Method即:父对象名即:父对象名即:父对象名即:父对象名.对象名对象名对象名对象名.方法名方法名方法名方法名1 1 1 1、显示表单、显示表单、显示表单、显示表单TH