《第5章表单设计基础精选文档.ppt》由会员分享,可在线阅读,更多相关《第5章表单设计基础精选文档.ppt(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第5章 表单设计基础本讲稿第一页,共七十九页第五章表单设计基础5.15.1面向对象程序设计的基本概念面向对象程序设计的基本概念5.1.15.1.1面向对象程序设计面向对象程序设计l lVisual FoxProVisual FoxPro不但支持传统的面向过程的程序设计,而且也提不但支持传统的面向过程的程序设计,而且也提供了面向对象的可视化程序设计的功能。供了面向对象的可视化程序设计的功能。l l面向过程的程序设计采取结构化的程序设计方法,程序是由传面向过程的程序设计采取结构化的程序设计方法,程序是由传递参数的程序和函数的集合组成,每个过程处理它的参数,并递参数的程序和函数的集合组成,每个过程处
2、理它的参数,并可能返回某个值,这种程序是以过程为中心的。程序员是基于可能返回某个值,这种程序是以过程为中心的。程序员是基于过程来组织模块的,这必然会导致程序的结构与实际应用领域过程来组织模块的,这必然会导致程序的结构与实际应用领域中的结构相差很大。中的结构相差很大。l l面向对象的程序设计方法是一种系统化的程序设计方法。它允面向对象的程序设计方法是一种系统化的程序设计方法。它允许抽象化、模块化的分层结构,具有动态性、继承性和封装性。许抽象化、模块化的分层结构,具有动态性、继承性和封装性。本讲稿第二页,共七十九页第五章表单设计基础5.1.25.1.2面向对象的基本概念面向对象的基本概念1 1对象
3、对象(Object)(Object)l l对象可以是现实世界中的任何物体,例如一扇窗户可以作为对象,一辆汽车可以作为对象,对象可以是现实世界中的任何物体,例如一扇窗户可以作为对象,一辆汽车可以作为对象,一台计算机可以作为对象。一台计算机可以作为对象。l l对象都具有一定的属性、特征,并可以产生一定的行为。对象的核心概念就是通常所对象都具有一定的属性、特征,并可以产生一定的行为。对象的核心概念就是通常所说的封装性、继承性和多态性。说的封装性、继承性和多态性。2.2.类类l l类是对一组相似对象的性质描述,这些对象具有相同种类的属性和方法。类是对一组相似对象的性质描述,这些对象具有相同种类的属性和
4、方法。l l类决定了对象的特征,所有对象的属性、事件和方法程序在定义类时被指定。类决定了对象的特征,所有对象的属性、事件和方法程序在定义类时被指定。有了类的定义后,就可以基于类生成这类对象的任何一个对象。有了类的定义后,就可以基于类生成这类对象的任何一个对象。本讲稿第三页,共七十九页第五章表单设计基础3.3.属性属性l l属性即对象的特性,是对象的外观及行为的特征。属性即对象的特性,是对象的外观及行为的特征。l l在在Visual FoxProVisual FoxPro中,各种对象具有中,各种对象具有7070多个属性。对象的属性可多个属性。对象的属性可以在建立对象时由其所属的类以在建立对象时由
5、其所属的类(或子类或子类)中继承,也可以在对象中继承,也可以在对象创建或运行时进行修改与设置。创建或运行时进行修改与设置。4.4.事件事件l l事件是对象可以识别和响应的行为与操作,用户可以编写相应事件是对象可以识别和响应的行为与操作,用户可以编写相应的代码对此进行响应。的代码对此进行响应。l l在在Visual FoxProVisual FoxPro中,事件集不能象方法集那样,可以无限扩展,中,事件集不能象方法集那样,可以无限扩展,事件集是相对固定的,用户不能再创建新的事件。事件集是相对固定的,用户不能再创建新的事件。本讲稿第四页,共七十九页第五章表单设计基础5.5.方法方法l l方法是对象
6、可以执行的动作,是封装在对象内部的,在任何时方法是对象可以执行的动作,是封装在对象内部的,在任何时候都不能独立存在于对象之外。在候都不能独立存在于对象之外。在Visual FoxProVisual FoxPro中提供了中提供了5050多多种不同的方法,每种方法都有自己的名称,称为方法名。种不同的方法,每种方法都有自己的名称,称为方法名。l lVisual FoxProVisual FoxPro中不同的对象具有不同的方法,与事件不同的是,中不同的对象具有不同的方法,与事件不同的是,方法程序集合可以无限扩展,除了在各个类中已定义的方法外,方法程序集合可以无限扩展,除了在各个类中已定义的方法外,可以
7、根据需要自定义方法可以根据需要自定义方法(向类中添加新方法向类中添加新方法),以完成相应的,以完成相应的操作,新建的方法属于表单或表单集。操作,新建的方法属于表单或表单集。本讲稿第五页,共七十九页第五章表单设计基础5.1.3 5.1.3 事件驱动机制事件驱动机制 l l事件驱动:事件驱动:指程序运行时始终处于等待某个事件的发生状态,指程序运行时始终处于等待某个事件的发生状态,一旦某个事件被触发时,系统马上就去执行与该事件对应的方一旦某个事件被触发时,系统马上就去执行与该事件对应的方法程序或过程,待事件过程执行完毕后,系统又处于等待某个法程序或过程,待事件过程执行完毕后,系统又处于等待某个事件的
8、发生状态。事件的发生状态。本讲稿第六页,共七十九页第五章表单设计基础l lVisual FoxProVisual FoxPro事件发生顺序的规则事件发生顺序的规则 :运行表单时总是先触发表单的运行表单时总是先触发表单的loadload事件,然后触发表单的事件,然后触发表单的InitInit事件。事件。表单中所有控件的表单中所有控件的InitInit事件在表单的事件在表单的InitInit事件之前触发。事件之前触发。表单的表单的DestroyDestroy事件先于它所包含的控件对象的事件先于它所包含的控件对象的InitInit事件触发。事件触发。释放表单时,释放表单时,UnloadUnload事
9、件是最后一个触发的事件。事件是最后一个触发的事件。当拖动一个控件时,系统将忽略其他鼠标事件。在拖放操作中当拖动一个控件时,系统将忽略其他鼠标事件。在拖放操作中MouseUpMouseUp和和MouseMoveMouseMove事件不会发生。事件不会发生。Valid Valid和和WhenWhen事件有返回值,默认为事件有返回值,默认为.T.T.。若从。若从WhenWhen事件返回事件返回.F.F.或或0 0,控件将不能被激活;若从,控件将不能被激活;若从ValidValid事件返回事件返回.F.F.或或0 0,则不能将焦点从,则不能将焦点从控件上移走。控件上移走。本讲稿第七页,共七十九页第五章
10、表单设计基础5.2.1 5.2.1 类的特点类的特点 1 1封装性封装性l l类的封装性是指将类的特性及其方法程序加以隐蔽,全部封装在类的内部,不让其复杂性类的封装性是指将类的特性及其方法程序加以隐蔽,全部封装在类的内部,不让其复杂性暴露在外面。暴露在外面。l l封装性保证了模块具有较好的独立性,使得程序的维护和修改比较容易。封装性保证了模块具有较好的独立性,使得程序的维护和修改比较容易。对应用程序的修改仅限于类的内部,因而可以将修改程序带来的影响减少对应用程序的修改仅限于类的内部,因而可以将修改程序带来的影响减少到最低程度。到最低程度。2 2继承性继承性l l继承是指在基于现有的类创建新类时
11、,新类继承了现有的类的属性和方法,此继承是指在基于现有的类创建新类时,新类继承了现有的类的属性和方法,此外,新类中还可以有自己所特有的新的属性和方法。外,新类中还可以有自己所特有的新的属性和方法。3 3多态性多态性l l多态性是指允许不同类的对象对同一消息作出响应。多态性是指允许不同类的对象对同一消息作出响应。本讲稿第八页,共七十九页第五章表单设计基础5.2.2 5.2.2 基类和子类基类和子类 l l每个基类都有自己的属性、事件和方法。由于基类只考虑通用每个基类都有自己的属性、事件和方法。由于基类只考虑通用特征和功能,难以满足用户的各种要求,用户常常要从基类中特征和功能,难以满足用户的各种要
12、求,用户常常要从基类中派生出一个类。从基类派生出来的类称作子类,也称作自定义派生出一个类。从基类派生出来的类称作子类,也称作自定义类。基类称作父类。一个子类还可以作为父类进一步派生出新类。基类称作父类。一个子类还可以作为父类进一步派生出新的子类。的子类。l l基类存放在安装时的默认路径下基类存放在安装时的默认路径下(C:program filesMicrosoft visual(C:program filesMicrosoft visual studioVisual FoxPro98ffc_base.vcx)studioVisual FoxPro98ffc_base.vcx)。本讲稿第九页,共
13、七十九页第五章表单设计基础5.2.3 Visual FoxPro5.2.3 Visual FoxPro中的类中的类l l对象是在类的基础上建立起来的,所以对象的种类是由类决定对象是在类的基础上建立起来的,所以对象的种类是由类决定的。的。Visual FoxProVisual FoxPro中的类分为两大类型:容器类和控件类。中的类分为两大类型:容器类和控件类。1.1.容器类容器类 容器类派生的对象可以包含其他对象,并且允许访问这些对象。容器类派生的对象可以包含其他对象,并且允许访问这些对象。2.2.控件类控件类 控件类派生的对象是一个相对独立的整体,不能包含其他对象。控控件类派生的对象是一个相对
14、独立的整体,不能包含其他对象。控件类是可以包含在容器类中并由用户派生的件类是可以包含在容器类中并由用户派生的Visual FoxProVisual FoxPro基类。基类。本讲稿第十页,共七十九页第五章表单设计基础5.3 5.3 创建表单创建表单l l表单有两个扩展名,一个为表单有两个扩展名,一个为.SCX.SCX(表单文件),另一个为(表单文件),另一个为.SCT.SCT(表单备注(表单备注文件)。在文件)。在Visual FoxProVisual FoxPro中,新建表单一般可以通过以下两种方法:中,新建表单一般可以通过以下两种方法:l l使用表单向导。使用表单向导。l l使用使用“表单设
15、计器表单设计器”。5.3.1 5.3.1 表单向导表单向导l l1.1.使用表单向导创建表单:使用表单向导创建表单:(1 1)单击工具栏上的)单击工具栏上的“新建新建”按钮,或选择按钮,或选择“文件文件”菜单中的菜单中的“新建新建”命令,打命令,打开新建对话框,在新建对话框中的开新建对话框,在新建对话框中的“文件类型文件类型”中选择表单,单击中选择表单,单击“向导向导”按钮。按钮。(2 2)在)在 “向导选取向导选取”对话框中选择对话框中选择“表单向导表单向导”,单击,单击“确定确定”按钮。按钮。本讲稿第十一页,共七十九页第五章表单设计基础(3 3)使用)使用“表单向导表单向导”第一步,选取字
16、段。第一步,选取字段。(4 4)使用)使用“表单向导表单向导”第二步,选取表单样式。第二步,选取表单样式。(5 5)使用)使用“表单向导表单向导”第三步,选择排序字段。第三步,选择排序字段。(6 6)使用)使用“表单向导表单向导”第四步,输入表单标题。第四步,输入表单标题。(7 7)用)用“表单向导表单向导”设计的表单如图所示。设计的表单如图所示。本讲稿第十二页,共七十九页第五章表单设计基础l l5.3.2 5.3.2 表单设计器表单设计器l l表单设计器工具栏表单设计器工具栏本讲稿第十三页,共七十九页第五章表单设计基础3.3.属性窗口属性窗口l l在在Visual FoxProVisual
17、FoxPro中,每个对象都可以用一组属性来刻画其特征,中,每个对象都可以用一组属性来刻画其特征,每个属性都有属性值,改变属性值就相当于改变了对象的特征。每个属性都有属性值,改变属性值就相当于改变了对象的特征。l l属性值的设置可以通过属性窗口来进行,也可以在程序运行时属性值的设置可以通过属性窗口来进行,也可以在程序运行时动态设置。动态设置。l l如果屏幕上没有显示属性窗口,可以单击表单设计工具栏中的如果屏幕上没有显示属性窗口,可以单击表单设计工具栏中的“属性窗口属性窗口”按钮,或者在表单中选定某个对象,然后在该对按钮,或者在表单中选定某个对象,然后在该对象上右击鼠标,从弹出的快捷菜单中选择象上
18、右击鼠标,从弹出的快捷菜单中选择“属性属性”命令,就会命令,就会出现属性窗口。出现属性窗口。本讲稿第十四页,共七十九页第五章表单设计基础l l属性窗口包含对象框、选项卡、属性设置框、属性、方法、事属性窗口包含对象框、选项卡、属性设置框、属性、方法、事件列表框和属性描述等部分:件列表框和属性描述等部分:本讲稿第十五页,共七十九页第五章表单设计基础l l例例5.2 5.2 通过属性窗口设置属性,建立如图所示的表单。通过属性窗口设置属性,建立如图所示的表单。l l设置属性过程如下:设置属性过程如下:(1 1)在在表表单单设设计计器器中中单单击击表表单单,使使其其成成为为当当前前对对象象,从从属属性性
19、窗窗口口的的属属性性列列表表中中选择选择CaptionCaption属性,将其值设为属性,将其值设为“欢迎表单欢迎表单”。(2 2)在表单设计器中单击标签使其成为当前对象,从属性窗口的属性列表中选择在表单设计器中单击标签使其成为当前对象,从属性窗口的属性列表中选择CaptionCaption属性,属性,将其值设为将其值设为“杭州欢迎你们!杭州欢迎你们!”;选择;选择FontSizeFontSize属性,将其值设为属性,将其值设为2828;选择;选择FontNameFontName属性,将其值设为属性,将其值设为“华文彩云华文彩云”。本讲稿第十六页,共七十九页第五章表单设计基础4.4.代码窗口代
20、码窗口l lVisual FoxProVisual FoxPro是一种面向对象的编程语言,它支持事件响应编是一种面向对象的编程语言,它支持事件响应编程方法,通过代码窗口来帮助程序员编写各个对象的事件代码。程方法,通过代码窗口来帮助程序员编写各个对象的事件代码。l l表单中的每个控件对象都有自己的代码窗口,用于响应各种事表单中的每个控件对象都有自己的代码窗口,用于响应各种事件。打开对象的代码窗口有多种方法:在对象上双击鼠标,或件。打开对象的代码窗口有多种方法:在对象上双击鼠标,或者单击表单设计器工具栏上的代码窗口的图标,都可弹出代码者单击表单设计器工具栏上的代码窗口的图标,都可弹出代码窗口,代码
21、窗口如图所示。窗口,代码窗口如图所示。本讲稿第十七页,共七十九页第五章表单设计基础l l代码窗口包括对象列表框、过程列表框、事件编辑框三个部分代码窗口包括对象列表框、过程列表框、事件编辑框三个部分l l(1 1)“对象对象”列表框列表框 此列表框中列出当前表单或表单集的所有对象,选中某个对象就切此列表框中列出当前表单或表单集的所有对象,选中某个对象就切换到该对象的代码事件。换到该对象的代码事件。l l(2 2)“过程过程”列表框列表框 此列表框列出了所选对象的全部事件,当用户从此列表框列出了所选对象的全部事件,当用户从“列表框列表框”中选中中选中一个事件后编写代码,这编好的代码就属于该时间。一
22、个事件后编写代码,这编好的代码就属于该时间。l l(3 3)代码编辑框)代码编辑框 代码窗口的主体部分是代码编辑框,用户在此编辑框中编写相应事代码窗口的主体部分是代码编辑框,用户在此编辑框中编写相应事件的代码。件的代码。本讲稿第十八页,共七十九页第五章表单设计基础5.5.表单控件工具栏表单控件工具栏6.6.调色板工具栏调色板工具栏本讲稿第十九页,共七十九页第五章表单设计基础7.7.布局工具栏布局工具栏8.8.表单菜单表单菜单布局工具栏布局工具栏布局工具栏布局工具栏 表单菜单表单菜单表单菜单表单菜单本讲稿第二十页,共七十九页第五章表单设计基础5.3.3 5.3.3 数据环境数据环境l l在在Vi
23、sual FoxProVisual FoxPro表单中,可以将某些控件与数据库表的字段绑定,从而更加方便地对数据表单中,可以将某些控件与数据库表的字段绑定,从而更加方便地对数据进行显示和控制操作。进行显示和控制操作。Visual FoxPro6.0Visual FoxPro6.0可以通过设置数据环境来实现数据绑定。可以通过设置数据环境来实现数据绑定。l l表单的数据环境指与表单相连的数据表和视图以及表之间的关系。表单的数据环境指与表单相连的数据表和视图以及表之间的关系。l l在通常情况下,数环境中的表或视图会随着表单的打开或运行而打开,并随着表单的在通常情况下,数环境中的表或视图会随着表单的打
24、开或运行而打开,并随着表单的关闭或释放而关闭。关闭或释放而关闭。1 1、打开数据环境、打开数据环境l l打开数据环境有多种方式,在表单设计窗口中右击鼠标,从出现的快捷菜单中选择打开数据环境有多种方式,在表单设计窗口中右击鼠标,从出现的快捷菜单中选择“数据数据环境环境”,或单击表单设计器工具栏上的,或单击表单设计器工具栏上的“数据环境数据环境”按钮,或选择按钮,或选择“显示显示”菜单中的菜单中的“数据环境数据环境”命令,都可以打开数据环境窗口。进入数据环境后,系统菜单中命令,都可以打开数据环境窗口。进入数据环境后,系统菜单中出现出现“数据环境数据环境”菜单项。菜单项。本讲稿第二十一页,共七十九页
25、第五章表单设计基础2 2、数据环境的常用属性、数据环境的常用属性l l数据环境也是一个对象,也有自己的属性、方法和事件。数据环境也是一个对象,也有自己的属性、方法和事件。I InitialSelectedAliasnitialSelectedAlias属性如果没有指定,在运行时首先加到属性如果没有指定,在运行时首先加到“数据环数据环境境”中的临时表(中的临时表(CURSORCURSOR)最先被选定。)最先被选定。本讲稿第二十二页,共七十九页第五章表单设计基础3 3、添加表或视图、添加表或视图l l在数据环境设计器下,可以向数据环境添加表或视图。在数据环境设计器下,可以向数据环境添加表或视图。l
26、 l(1 1)在数据环境设计器窗口中单击右键,在快捷菜单中选择)在数据环境设计器窗口中单击右键,在快捷菜单中选择“添加添加”命令,或选择命令,或选择“数据环境数据环境”菜单中的菜单中的“添加添加”命令,两命令,两种方式都会打开种方式都会打开“添加表或视图添加表或视图”对话框,选择要添加的表或对话框,选择要添加的表或视图。视图。l l(2 2)单击对话框中的)单击对话框中的“添加添加”按钮,就将表添加到数据环境窗按钮,就将表添加到数据环境窗口中。也可以选择口中。也可以选择“其他其他”,在,在“打开打开”对话框中选择要添加对话框中选择要添加的表,再按的表,再按“确定确定”按钮就可以添加其它数据库中
27、的表或其它按钮就可以添加其它数据库中的表或其它自由表。自由表。l l按同样方法添加多个表或视图,添加完毕后。单击按同样方法添加多个表或视图,添加完毕后。单击“关闭关闭”按按钮在数据环境窗口就会显示选定的表和视图及表中的字段和索钮在数据环境窗口就会显示选定的表和视图及表中的字段和索引。引。本讲稿第二十三页,共七十九页第五章表单设计基础4 4、移去表或视图、移去表或视图l l(1 1)在)在“数据环境数据环境”窗口中,单击准备移去的表或视图,被选窗口中,单击准备移去的表或视图,被选中的表或视图呈高亮度显示。中的表或视图呈高亮度显示。l l(2 2)单击右键,选择)单击右键,选择“移去移去”命令,即
28、从数据环境中移去该表命令,即从数据环境中移去该表或视图。或视图。l l也可以在也可以在“数据环境数据环境”是选择是选择“移去移去”命令,也可以把表或视命令,也可以把表或视图从数据环境中移去。图从数据环境中移去。l l注意:当表从数据环境中移去后,与该表相关的所有关系也随注意:当表从数据环境中移去后,与该表相关的所有关系也随之消失。之消失。本讲稿第二十四页,共七十九页第五章表单设计基础5 5向表单添加绑定数据源的控件向表单添加绑定数据源的控件l lVisual FoxProVisual FoxPro允许用户直接从数据环境中把表、视图或字段拖到允许用户直接从数据环境中把表、视图或字段拖到表单上,系
29、统会根据字段类型自动创建相应的控件,同时还添表单上,系统会根据字段类型自动创建相应的控件,同时还添加一个说明性的标签控件。如果拖到表单上的字段为字符型,加一个说明性的标签控件。如果拖到表单上的字段为字符型,系统将产生一个文本框控件;如果是逻辑型字段,系统会产生系统将产生一个文本框控件;如果是逻辑型字段,系统会产生一个复选框控件;如果是备注型字段,系统会产生一个编辑框一个复选框控件;如果是备注型字段,系统会产生一个编辑框控件;如果是表或视图,系统会产生一个表格控件控件;如果是表或视图,系统会产生一个表格控件 本讲稿第二十五页,共七十九页第五章表单设计基础5.3.45.3.4保存和运行表单保存和运
30、行表单1.1.保存表单保存表单l l完成表单设计之后,选择完成表单设计之后,选择“文件文件”菜单的菜单的“保存保存”命令保存表单,如果在未命令保存表单,如果在未保存前试图运行表单或关闭表单设计器,系统将提示是否保存已做过的修保存前试图运行表单或关闭表单设计器,系统将提示是否保存已做过的修改。改。2.2.运行表单运行表单l l(1 1)在项目管理器窗口中,选择要运行的表单,单击)在项目管理器窗口中,选择要运行的表单,单击“运行运行”按钮。按钮。l l(2 2)在表单设计器环境中,选择)在表单设计器环境中,选择“表单表单”菜单中的菜单中的“执行表单执行表单”命令。命令。l l(3 3)在标准工具栏
31、上选择)在标准工具栏上选择“运行运行”按钮。按钮。l l(4 4)选择)选择“程序程序”菜单中的菜单中的“运行运行”命令,打开命令,打开“运行运行”对话框,在对话框中指定对话框,在对话框中指定要运行的表单,单击要运行的表单,单击 “运行运行”按钮。按钮。l l(5 5)在)在“命令命令”窗口中输入命令:窗口中输入命令:DO FORM DO FORM 来来 运行表单。运行表单。l l(6 6)从程序中运行表单。)从程序中运行表单。本讲稿第二十六页,共七十九页第五章表单设计基础5.4 5.4 表单的属性、事件和方法表单的属性、事件和方法l l5.4.1 5.4.1 表单常用属性表单常用属性本讲稿第
32、二十七页,共七十九页第五章表单设计基础5.4.2 5.4.2 表单常用事件和方法表单常用事件和方法 (1)(1)运行时事件运行时事件l l LoadLoad事件事件l l发生时机:创建对象前发生。发生时机:创建对象前发生。l l应用于:表单、表单集。应用于:表单、表单集。l l语法格式:语法格式:PROCEDURE PROCEDURE 对象对象.Load.Load LAPARAMETERS nIndexLAPARAMETERS nIndex 参数说明:参数说明:nIndex-nIndex-惟一地标识控件数组中的控件。惟一地标识控件数组中的控件。l l说明:说明:LoadLoad事件为表单集先发
33、生,然后其包含的表单再发生。事件为表单集先发生,然后其包含的表单再发生。LoadLoad事件发生在事件发生在ActivateActivate和和GotFocusGotFocus事件之前。事件之前。运行表单时,先触发表单的运行表单时,先触发表单的LoadLoad事件,再触发表单的事件,再触发表单的InitInit事件。事件。本讲稿第二十八页,共七十九页第五章表单设计基础 InitInit事件事件l l发生时机:创建对象时发生。发生时机:创建对象时发生。l l说明:在表单对象的说明:在表单对象的InitInit事件发生之前,先触发表单中所包含的事件发生之前,先触发表单中所包含的控件对象的控件对象的
34、InitInit事件,所以在表单对象的事件,所以在表单对象的InitInit事件代码中能够访问事件代码中能够访问它所包含的所有控件对象。它所包含的所有控件对象。本讲稿第二十九页,共七十九页第五章表单设计基础(2)(2)关闭时事件关闭时事件 DestoryDestory事件事件l l发生时机:释放对象时发生。发生时机:释放对象时发生。l l说明:表单对象的说明:表单对象的DestoryDestory事件先发生,表单所包含控件对象的事件先发生,表单所包含控件对象的DestoryDestory事件后发生,事件后发生,所以在表单对象的所以在表单对象的DestoryDestory事件代码中能够访问它所包
35、含的所有控件对象。事件代码中能够访问它所包含的所有控件对象。UnloadUnload事件事件l l发生时机:表单对象释放时发生。发生时机:表单对象释放时发生。l l说明:说明:UnloadUnload事件是表单对象释放时最后一个触发的事件。如在关闭一个包事件是表单对象释放时最后一个触发的事件。如在关闭一个包含一个命令按钮的表单时,先触发表单的含一个命令按钮的表单时,先触发表单的DestoryDestory事件,然后触发命令按钮的事件,然后触发命令按钮的DestoryDestory事件,最后触发表单的事件,最后触发表单的UnloadUnload事件。事件。本讲稿第三十页,共七十九页第五章表单设计
36、基础2 2表单常用方法表单常用方法 ShowShow方法方法l l功能:显示表单、表单集或工具栏。功能:显示表单、表单集或工具栏。l l应用于:表单、表单集、应用于:表单、表单集、_SCREEN_SCREEN和工具栏。和工具栏。l l语法格式:对象语法格式:对象.Show.Show HideHide方法方法l l功能:隐藏表单、表单集或工具栏。功能:隐藏表单、表单集或工具栏。l l应用于:表单、表单集、应用于:表单、表单集、SCREENSCREEN、工具栏。、工具栏。l l语法格式:对象语法格式:对象.Hide.Hide本讲稿第三十一页,共七十九页第五章表单设计基础 RefreshRefres
37、h方法功能:重画表单或控件并刷新所有值。方法功能:重画表单或控件并刷新所有值。l l语法格式:对象语法格式:对象.Refresh.Refreshl l适用范围:适用范围:Visual FoxProVisual FoxPro中所有的对象,包括复选框、列、组合框、命令按钮、中所有的对象,包括复选框、列、组合框、命令按钮、命令组、容器对象、控件对象、编辑框、表单、表单集、表格、标头、列表框、命令组、容器对象、控件对象、编辑框、表单、表单集、表格、标头、列表框、OLEOLE绑定型控件、绑定型控件、OLEOLE容器控件、选项按钮、选项组、页面、页框、容器控件、选项按钮、选项组、页面、页框、_SCREEN
38、_SCREEN、微、微调、文本框和工具栏。调、文本框和工具栏。l l 刷新表单的同时,也刷新表单上所有的控件;刷新页框时,只刷新活动的页。刷新表单的同时,也刷新表单上所有的控件;刷新页框时,只刷新活动的页。ReleaseRelease方法方法l l功能:释放表单集或表单。功能:释放表单集或表单。l l应用于:表单、表单集、应用于:表单、表单集、SCREENSCREEN。l l语法格式:对象语法格式:对象.Release.Release。本讲稿第三十二页,共七十九页第五章表单设计基础5.4.3 5.4.3 新建属性和方法新建属性和方法 1.1.创建新属性创建新属性(1)(1)在表单中添加属性在表
39、单中添加属性l l选择选择“表单表单”菜单中的菜单中的“新建属性新建属性”命令,打开新建对话框命令,打开新建对话框l l在在“名称名称”框中,输入属性的名称。框中,输入属性的名称。l l在在“说明说明”框中,加入对新属性的说明信息,它将显示在框中,加入对新属性的说明信息,它将显示在“属属性性”窗口的底部。窗口的底部。l l新建的属性显示在表单的新建的属性显示在表单的“属性属性”窗口列表的底部,其默认值窗口列表的底部,其默认值都为逻辑假都为逻辑假.F.F.,可以在属性窗口重新指定新属性的默认值。,可以在属性窗口重新指定新属性的默认值。本讲稿第三十三页,共七十九页第五章表单设计基础(2)(2)创建
40、数组属性创建数组属性l l数组属性和其他属性一样都属于表单或表单集。若要创建一个数组属性和其他属性一样都属于表单或表单集。若要创建一个数组属性可采用以下步骤:数组属性可采用以下步骤:l l在表单中添加新属性。在表单中添加新属性。l l在在“新建属性新建属性”对话框的对话框的“属性名属性名”框中键入数组属性的名称,框中键入数组属性的名称,包括数组的大小和维数。包括数组的大小和维数。本讲稿第三十四页,共七十九页第五章表单设计基础2.2.创建新方法创建新方法(1)(1)新建方法新建方法l l选择选择“表单表单”菜单中的菜单中的“新方法程序新方法程序”命令,打开新建对话框命令,打开新建对话框l l在在
41、“名称名称”框中输入方法程序的名称。框中输入方法程序的名称。l l在在“说明说明”框中输入该方法程序的说明,这是可选的。框中输入该方法程序的说明,这是可选的。l l说明:新建的方法同样会在表单的说明:新建的方法同样会在表单的“属性属性”窗口列表框中显示窗口列表框中显示出来,双击它即可打开代码窗口,输入代码。出来,双击它即可打开代码窗口,输入代码。本讲稿第三十五页,共七十九页第五章表单设计基础(2 2)调用新建方法)调用新建方法l l调用新方法的语法同调用基类方法程序一样,其语法格式为:调用新方法的语法同调用基类方法程序一样,其语法格式为:l lObjectName.MethodNameObje
42、ctName.MethodName即:对象名即:对象名.方法名方法名l l新建的方法同样可以接受参数并返回值,这种情况下,用户可新建的方法同样可以接受参数并返回值,这种情况下,用户可以用赋值语句来调用方法,语法格式为:变量名以用赋值语句来调用方法,语法格式为:变量名=对象名对象名.方法方法名(参数列表)。名(参数列表)。(3 3)删除新建方法)删除新建方法l l要删除用户添加的新属性和方法,可以在要删除用户添加的新属性和方法,可以在“表单表单”菜单中选择菜单中选择“编辑属性编辑属性/方法程序方法程序”命令,在打开的对话框中,选择不需要命令,在打开的对话框中,选择不需要的属性和方法,单击的属性和
43、方法,单击“移去移去”按钮,就可以完成删除操作。按钮,就可以完成删除操作。本讲稿第三十六页,共七十九页第五章表单设计基础5.55.5表单的修改和装饰表单的修改和装饰l l修改表单的方法如下:修改表单的方法如下:(1 1)在)在“项目管理器项目管理器”中,选择中,选择“文档文档”选项卡,选择表单,单击选项卡,选择表单,单击“修改修改”按钮。按钮。(2 2)选择)选择“文件文件”菜单的菜单的“打开打开”命令,在打开对话框中选择表命令,在打开对话框中选择表单,单击单,单击“确定确定”按钮。按钮。(3 3)在命令窗口输入:)在命令窗口输入:MODIFYMODIFYFORMFORM 本讲稿第三十七页,共
44、七十九页第五章表单设计基础5.5.1 5.5.1 控件基本操作控件基本操作1.1.选择控件选择控件l l(1 1)选择一个控件:用鼠标单击控件即可选定该控件,被选定)选择一个控件:用鼠标单击控件即可选定该控件,被选定时,控件周围会出现时,控件周围会出现8 8个控制点。个控制点。l l(2 2)选择多个控件:)选择多个控件:选择相邻控件:在表单控件工具栏中选择选择相邻控件:在表单控件工具栏中选择“选定对象选定对象”按钮,在按钮,在表单窗口上拖动鼠标,将要选择的控件包含在方框之内,松开表单窗口上拖动鼠标,将要选择的控件包含在方框之内,松开鼠标,则选中多个控件。鼠标,则选中多个控件。本讲稿第三十八页
45、,共七十九页第五章表单设计基础l l选择不相邻的多个控件:按住选择不相邻的多个控件:按住“ShiftShift”键,再依次用鼠标单击键,再依次用鼠标单击要选定的控件。要选定的控件。2.2.移动控件移动控件l l单击选中控件单击选中控件l l按住鼠标左键不放并移到合适的位置按住鼠标左键不放并移到合适的位置3.3.调整控件大小调整控件大小l l选定控件选定控件l l用鼠标拖拉控件周围的控制点,修改控件的长度、宽度或整体用鼠标拖拉控件周围的控制点,修改控件的长度、宽度或整体尺寸尺寸(与与WindowsWindows中调整窗口大小的操作类似中调整窗口大小的操作类似)本讲稿第三十九页,共七十九页第五章表
46、单设计基础4.4.复制控件复制控件l l选择一个或多个控件。选择一个或多个控件。l l选择选择“编辑编辑”菜单中的菜单中的“复制复制”命令命令l l选择选择“编辑编辑”菜单菜单“粘贴粘贴”命令命令l l把复制出该控件拖动到合适的位置把复制出该控件拖动到合适的位置l l也可以通过单击鼠标右键产生的快捷菜单的也可以通过单击鼠标右键产生的快捷菜单的“复制复制”和和“粘贴粘贴”命令,复制控件并移命令,复制控件并移到合适的位置。到合适的位置。5.5.删除控件删除控件l l选定控件。选定控件。l l从从“编辑编辑”菜单或右键的快捷菜单上选择菜单或右键的快捷菜单上选择“剪切剪切”,也可以选定控件,并按删除键
47、。,也可以选定控件,并按删除键。本讲稿第四十页,共七十九页第五章表单设计基础5.5.2 5.5.2 控件的布局控件的布局 l l控件的布局是指控件的大小和控件之间的相对位置控件的布局是指控件的大小和控件之间的相对位置5.5.3 5.5.3 焦点与控件的焦点与控件的TabTab键次序设置键次序设置 l l1 1焦点焦点 焦点是指当前处于活动状态并能接受用户鼠标操作或键盘输入的控件。焦点是指当前处于活动状态并能接受用户鼠标操作或键盘输入的控件。可以通过调用可以通过调用SetFocusSetFocus方法使控件获得焦点,其格式如下:方法使控件获得焦点,其格式如下:格式:格式:Control.SetF
48、ocusControl.SetFocus 功能:使指定控件获得焦点功能:使指定控件获得焦点 l l2 2设置设置TabTab键次序键次序 1 1、菜单方式、菜单方式 2 2、列表方式、列表方式本讲稿第四十一页,共七十九页第五章表单设计基础5.5.45.5.4装饰表单装饰表单l l表单设计中,可以给表单界面加一些装饰,以改善表单外观。表单设计中,可以给表单界面加一些装饰,以改善表单外观。如添加一些分隔线,将表单中的控件分成几个区域,使表单看如添加一些分隔线,将表单中的控件分成几个区域,使表单看起来更加直观和清晰。起来更加直观和清晰。l l1.1.改变文本的字体和大小改变文本的字体和大小l l2.
49、2.向表单中添加形状和线条向表单中添加形状和线条l l3.3.向表单中添加图形向表单中添加图形本讲稿第四十二页,共七十九页第五章表单设计基础4.4.设置表单颜色设置表单颜色l l我们可以控制表单的颜色,方法是根据存在的配色方案,使用我们可以控制表单的颜色,方法是根据存在的配色方案,使用ColorSourceColorSource属性,或者可使用属性,或者可使用“调色板调色板”工具栏改变表单和其工具栏改变表单和其中控件的前景或背景颜色。中控件的前景或背景颜色。l l(1)(1)用用ColorSourceColorSource属性设置表单颜色属性设置表单颜色l l(2)(2)设置表单或控件的前景或
50、背景颜色设置表单或控件的前景或背景颜色l l(3)(3)创建自定义颜色创建自定义颜色5.5.指定表单的图标指定表单的图标l l如果指定了表单图标,在如果指定了表单图标,在WindowsWindows中的标题栏将显示这个图标。中的标题栏将显示这个图标。本讲稿第四十三页,共七十九页第五章表单设计基础5.65.6对象的使用对象的使用l l对象的使用包括对象属性的访问和对象方法的调用,其基本格对象的使用包括对象属性的访问和对象方法的调用,其基本格式如下:式如下:.(.)(.)本讲稿第四十四页,共七十九页第五章表单设计基础5.6.1 5.6.1 对象的引用格式对象的引用格式 l l对象之间包含与被包含的