第6章表单设计与使用(new)_第1页
第6章表单设计与使用(new)_第2页
第6章表单设计与使用(new)_第3页
第6章表单设计与使用(new)_第4页
第6章表单设计与使用(new)_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章表单设计与使用6.1面向对象的概念6.2VFP基类简介6.3创建与运行表单6.4表单设计器6.5表单属性与方法6.6基本型控件6.7容器型控件6.8自定义类6.1面向对象的概念6.1面向对象的概念6.1.1对象与类1.对象(object):客观世界里的任何实体,可以是具体的,也可以是抽象的。对象是描述对象特征的属性和描述对象行为的方法的封装体2.类(class):具有相同属性的对象的集合;类是对象的抽象,对象是类的实例。6.1.2子类与继承6.2.1vfp基类:p174表6.1是系统本身内含的。每个基类都有自己的一组属性、方法(主动)、事件(被动)。基类的最小属性集p175表6.2使用对象属性及方法的基本格式:对象名.属性名对象名.方法名[(参数列表)]6.2VFP基类简介6.2.2容器与控件Vfp中的类一般可分为两种类型:容器类与控件类。可分别生成容器对象和控件对象。P176表6.3是放在表单上用以显示数据、执行操作或使表单更易阅读的一种图形对象。对象层次与类的层次的区别包容与被包容继承与被继承容器层次中的对象引用属性或关键字:P176表6.46.2VFP基类简介6.2VFP基类简介

属性或关键字引用

parent当前对象的直接容器对象

this当前对象

thisform当前对象所在的表单

thisformset当前对象所在的表单集6.2VFP基类简介6.2.3事件事件是一种由系统预先定义而由用户或系统发出的动作。事件作用于对象,对象识别事件并作出相应反应。事件是系统提供的,用户不能定义新的事件。VFP基类最小事件集P177表6.5容器对象的嵌套层次中事件处理的独立性原则(最里层的对象识别事件)和例外

例如:在图所示的表单中有一个命令按钮,表单设置了Click事件和DblClick事件的处理代码;命令按钮仅设置了Click事件的处理代码,那么当用户单击命令按钮时,不会触发表单的Click事件

对于表格控件来说,表格包含列控件,列控件又包含标头和文本框控件。当事件发生时,只有与事件相关联的最里层对象识别该事件,更高层的容器不识别该事件,如图所示,例外:对于选项按钮组与命令按钮组来说,组中个别按钮如果没有编写事件处理代码,则当事件发生时将执行组事件的处理代码。6.3.1创建表单两种途径:表单设计器与向导可以利用表单设计器来创建表单文件(.scx),并通过运行表单文件来生成表单对象。表单设计器创建表单的方法:在项目管理器中创建表单利用菜单创建表单使用createform命令创建表单修改已有表单:modifyform表单文件名运行表单:

doform表单文件名6.3创建与运行表单6.4表单设计器6.4.1表单设计器环境:表单设计器窗口、属性窗口、表单控件工具栏、表单设计器工具栏及表单菜单;有关属性窗口的说明:属性值为表达式时;设置某属性为默认值;

只读属性;

多个控件相同属性的设置;有关表单控件工具栏的说明:按钮锁定:用于添加多个同类型控件;6.4表单设计器6.4.2控件的操作与布局控件的基本操作;控件布局:利用“布局”工具栏;P184表6.7设置tab键次序:交互方式和列表方式与表单外观有关的一些属性LeftHeightWidthTopMaxbuttonMinbutton决定窗体的位置决定窗体的大小决定窗体的最大、最小化按钮可用BorderStyle(边框)Enabled与Visible:设置窗体是否可用和可见的Font系列:设置直接显示在窗体中的文字的字体Picture:设置窗体中显示的图片与表单外观有关的一些属性ForeColor(前景色)BackColor(背景色)Caption(标题)Icon(图标)6.4表单设计器12106.4.3数据环境为表单建立数据环境,可以方便设置控件与数据之间的绑定关系。根据控件与数据源的关系分两类数据绑定型控件(复选框、列、组合框、编辑框、列表框、选项按钮、选项组、微调、文本框、表格)控件源—ControlSource属性(表格除外)RecordSource属性RowSourceType属性非数据绑定型控件(命令按钮、标签、线条)1.数据环境的常用属性表单的数据环境作为表单文件的一部分保存。数据环境是一个数据库对象,有自己的属性、方法和事件。P185表6.8可以用数据环境设计器可视化地设置表单的数据环境。2.打开数据环境设计器3.向数据环境添加表或视图6.4表单设计器4.从数据环境移去表或视图5.在数据环境中设置关联6.在数据环境中编辑关联关联是数据环境中的对象,它有自己的属性、方法和事件。P186表6.9关联的常用属性:(了解)Relationalexpr属性:关联表达式

Parentalias属性:主表的别名

Childalias属性:子表的别名

Childorder属性:控制索引

Onetomany属性:一对多关系7.向表单添加字段****6.5表单的属性和方法6.5.1表单的常用属性:P187表6.10常在设计阶段进行设计,这些属性规定了表单的外观和行为。Autocenter属性:居中显示表单Backcolor属性:表单窗口的颜色Borderstyle属性:表单边框的风格Caption属性:表单标题栏Maxbutton:表单是否有最大化按钮Minbutton:表单是否有最小化按钮Movable:表单是否能够动Windowstate:表单的状态:

0正常1最小化2最大化Windowtype:指定表单是否是模式表单:

1模式表单2非模式表单6.5表单的属性和方法6.5.2常用的事件与方法P189表6.11事件与方法代码的设置三种进入方式1.运行时事件:load事件:在表单对象建立之前引发,即运行表单时,先引发表单的load事件,再引发表单的init事件。

init事件:在对象建立时引发,在表单对象的init事件引发之前,将先引发它所包含的控件对象的init事件。2.关闭时事件:destroy事件:在对象释放时引发。表单对象的destory事件在它所包含的控件对象的destory事件引发之前引发;unload事件:在表单对象释放时引发,是表单对象释放时最后一个要引发的事件。6.5表单的属性和方法3.交互时事件:

getfocus事件:当对象获得焦点时引发。如鼠标单击或调用setfocus方法时;click事件:单击事件;dblclick事件:双击事件;rightclick事件:右键单击对象时引发;interactivechange事件:当改变一个控件的值时引发;4.错误时事件Error:当对象方法或事件代码在运行过程中发生错误时引发。6.5表单的属性和方法5.表单的显示、隐藏与关闭方法:

show方法:显示表单。

hide方法:隐藏表单。

release方法:将表单从内存中释放6.表单或控件的刷新方法:refresh方法:重新绘制表单或控件,并刷新它的所有值。7.控件的焦点设置方法:

Setfocus方法:让控件获得焦点,使其成为活动对象。例.设计表单,了解表单的常用事件:P189表6.11例.运行表单form1时使标题为“hello”,高度和宽度均为200。doformform1with“hello”,200,200Release方法:将表单从内存中释放。ThisForm.ReleaseRefresh方法:刷新表单。Show方法:显示表单。该方法将表单的Visible属性设置为.T.。Hide方法:隐藏表单。该方法将表单的Visible属性设置为.F.。表单常用方法LOAD事件:在表单建立之前引发。Init事件:在表单创建时引发.Destroy事件:在表单对象释放时引发。CLICK事件:用鼠标单击表单时引发.RightClick事件:用鼠标右键单击表单时引发.UNLOAD事件:表单释放时最后引发的事件表单常用事件6.5.3向表单添加新的属性和方法P1911.创建新属性:选择“表单”菜单中的“新建属性”命令。2.创建新方法:选择“表单”菜单中的“新建方法程序”命令。删除用户添加的属性或方法:选择“表单”菜单中“编辑属性/方法程序”3.编辑方法或事件代码:将方法或事件设置为默认:6.6基本型控件控件可分为:基本型控件和容器型控件基本型控件标签、文本框、命令按钮、列表框等;容器型控件选项按钮组、命令按钮组、表格、表格列、页框、页面、表单、表单集、容器、工具栏等。学习控件的使用,主要有两个方面:1.每种控件最适合什么样的任务;2.每种控件最常用的属性、事件和方法。选项按钮组、列表框、下拉列表框、复选框等控件为用户提供一组预先设定的数据选项文本框、编辑框、组合框等控件让用户输入预先不能确定的数据微调框控件让用户输入给定范围的数值型数据命令按钮或命令按钮组让用户进行特定的操作计时器控件在给定时间间隔执行指定的操作利用表格控件操作多行数据利用标签、文本框、形状、线条、图形、图像等控件显示信息选择合适的控件6.6.1标签(label)标签控件用于显示文本,不能编辑文本;常用的标签属性如下:1.Caption属性指定标签的标题文本。表单、复选框、选项按钮、命令按钮等都具有caption属性利用控件的caption属性设置控件的访问键:设置方式:\<访问键访问方式:直接按访问键或alt+访问键6.6.1标签(label)标签控件不具有gotfocus事件,虽然可以为标签指定tab键序,但标签并不能获得焦点,而是把焦点传递给tab键序中紧跟着标签的下一个控件。Name属性:****设置对象的名称,在设计代码时用于引用对象;所有对象,包括表单与控件都有name属性,该属性只能在设计阶段设置。6.6.1标签(label)Alignment属性:指定标题文本在控件中显示的对齐方式。0:左对齐1:右对齐2:居中Alignment属性除了标签,还适用于文本框、复选框、选项按钮、列、标头等控件6.6.2命令按钮(commandbutton)1.Default属性和cancel属性:Default属性为.t.时,则按下enter键就选择了该命令按钮,并执行该按钮的click事件。Cancel属性为.t.时,则按下esc键就选择了该命令按钮,并执行该按钮的click事件Enabled属性:表示对象的可用性或有效性Visible属性:表示对象的可见性(非活动)Show方法(活动)6.6.3文本框(textbox)文本框可用于输入数据或编辑内存变量、数组元素和非备注型字段内的数据,如字符型、数值型、逻辑型、日期型或日期时间型等。1.Controlsource属性:****为文本框指定要绑定的数据源,数据源是一个字段或内存变量。用户对文本框的编辑结果会改变该字段或内存变量。注编辑框、复选框、列表框、组合框、命令组、选择组、列等控件都具有该属性6.6.3文本框(textbox)2.Value属性:用于设置或读取文本框的内容;

注编辑框、复选框、列表框、组合框、命令组、选择组等控件都具有该属性3.Passwordchar属性:用于设置口令字(占位符);注此属性不影响value属性的设置,value属性的值是用户输入的实际内容;6.6.3文本框(textbox)4.Inputmask属性:指定在一个文本框中如何输入和显示数据。Inputmask属性值是一个字符串,该字符串由一些模式符组成P195表6.13该属性除了文本框,还适用于组合框、列等控件。例.P196设计一个表单,浏览职工表的数据,要求,当表单中显示的是第一条记录时,命令按钮“上一条”应置为无效;当表单中显示的是最后一条记录时,命令按钮“下一条”应置为无效。 6.6.4编辑框(editbox)与文本框一样,编辑框也用来输入、编辑数据,但与文本框有如下区别:编辑框是一个完整的字处理器,可以包含回车符、有垂直滚动条;编辑框只能输入、编辑字符型数据,包括字符型内存变量、数组元素、字段以及备注字段里的内容;编辑框没有inputmask属性。6.6.4编辑框(editbox)1.Hideselection属性:指定当编辑框失去焦点时,编辑框中选定的文本是否仍显示为选定状态。当hideselection属性为.t.时:失去焦点时,不显示为选定状态当hideselection属性为.f.时:失去焦点时,显示为选定状态6.6.4编辑框(editbox)2.Readonly属性:指定用户能否编辑编辑框中的内容。取值为.f.时,可以修改编辑框中的内容3.Scrollbars属性:指定编辑框是否具有滚动条。(仅取0或2两个值)6.6.4编辑框(editbox)4.Selstart属性:返回用户在编辑框中所选文本的起始点位置。5.Sellength属性:返回用户在编辑框中所选文本的字符数。6.Seltext属性:返回用户编辑区内选定的文本。例.p199设计一个简单的查找替换界面。6.6.5复选框(checkbox)1.Caption属性:用来指定显示在复选框旁边的标题。2.Controlsource属性:指明复选框要绑定的数据源,数据源的类型可以是数值型或逻辑型。复选框的三种状态:未被选中(0),被选中(1),不确定(2)。

3.Value属性:设置或返回复选框的状态。默认为0;6.6.6列表框(listbox)1.Rowsourcetype属性:P201表6.15

指明列表框中条目的数据源类型;2.Rowsource属性:指明列表框中条目的数据源;3.Columncount属性:指定列表框的列数,即一个条目中包含的数据项数目。此属性还用于表格;4.Value属性:返回列表框中被选中的条目。该属性只读。6.6.6列表框(listbox)5.Multiselect属性:指定用户能否在列表框中进行多重选定。

0或.f.:不允许多重选择(默认);1或.t.:允许多重选择。6.List属性:用以存取列表框中数据条目的字符串数组。例.读取列表框中第3个条目第1列上的数据项:Var=thisform.mylist.list(3,1)或:Var=thisform.mylist.list(3)6.6.6列表框(listbox)7.Listcount属性属性数组指定列表框中数据条目的数目;8.Selected属性属性数组指定列表框内的某个条目是否处于选定状态。6.6.7组合框(combobox)组合框有两种形式:下拉组合框和下拉列表框。通过设置style属性可选择想要的形式:style属性值:

0下拉组合框。用户可以从列表中选择,也可以在编辑区内输入。在编辑区内输入的内容可以从text属性中获得;2下拉列表框。用户只能从列表中选择6.6.7组合框(combobox)例.P203设计一个选择查询表单,表单运行时,可以先在右侧的下拉列表框中选择需要打开并查询的表文件,然后在列表框中选择需要输出的字段,最后单击确定按钮,显示指定表中的记录在指定字段上的内容.6.7容器型控件命令组、选项组、表格、页框等常用的容器型控件。容器型控件与其所包含的控件一般都有自己的属性、方法和事件。选择容器中某控件的方法:1.属性窗口选择2.鼠标右击6.7.1命令组(commandgroup)命令组是包含一组命令按钮的容器控件;命令组和其中的每个按钮都有自己的属性、方法和事件。1.Buttoncount属性:指定命令组中命令按钮的数目。6.7.1命令组(commandgroup)2.Buttons属性:(属性数组)用于存取命令组中各按钮的数组。用户可以利用该数组为命令组中的命令按钮设置属性。例:thisform.mycommandg.buttons(2).visible=.f.3.Value属性:指定命令组当前的选中状态。该属性的类型可以是数值型的,也可以是字符型的。若为字符型,则表示命令组中与caption属性值相同的命令按钮被选中6.7.1命令组(commandgroup)例.一个命令组内包含三个命令按钮,可以在命令组的click事件中设置以下代码:

docasecasethis.value=1*处理

casethis.value=2*处理

casethis.value=3*处理

endcase6.7.2选项组(optiongroup)选项按钮组,是包含选项按钮的一种容器。1.Buttoncount属性:指定选项组中选项按钮的数目。2.Buttons属性:用于存取选项组中每个按钮的数组。用户可以利用该属性为选项组中的按钮设置属性。thisform.myoptionG.buttons(3).caption=“sortbycustomer”6.7.2选项组(optiongroup)3.Controlsource属性:为选项组指定要绑定的数据源。4.Value属性:初始化或返回选项组中被选中的选项按钮。该属性值的类型可以是数值型的,也可以是字符型的。6.7.3表格(grid)表格是一种容器对象;一个表格对象由若干列对象(column)组成,每个列对象包含一个标头对象(header)和若干控件。表格中的每个对象都有自己的属性、事件和方法。1.表格的基本操作编辑表格:调整表格的行高和列宽使用表格生成器设置表格:6.7.3表格(grid)2.常用的表格(grid)属性:1)Recordsourcetype属性与recordsource属性:Recordsourcetype属性指定表格数据源的类型;recordsource属性指定表格数据源。2)Columncount属性:指定表格的列数;默认为-1,表示表格的列数任意,此时无列、标头等表格对象6.7.3表格(grid)3)Linkmaster属性:指定表格控件中所显示的子表的父表名称。使用该属性可建立父表与当前子表的一对多的联系。4)Childorder属性:指定为建立一对多的联系,子表所要用到的索引,使用该属性前,应在子表中建立相应的索引。5)Relationalexpr属性:确定基于父表字段的关联表达式。6.7.3表格(grid)3.常用属性1)Controlsource属性:指定要在列中显示的数据源。2)Currentcontrol属性:指定列对象中的一个控件。3)Sparse属性:用于确定currentcontrol属性是影响列中的所有单元格,还是只影响活动单元格。6.7.3表格(grid)4.常用的标头(hea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论