课件09版表单8学时_第1页
课件09版表单8学时_第2页
课件09版表单8学时_第3页
课件09版表单8学时_第4页
课件09版表单8学时_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

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

文档简介

05VFP课件09版表单8学时8-1面向对象的概念8-2创建表单8-3表单控件的使用8-4修饰表单8-5小结第8章表单及面向对象的程序设计8-1面向对象的概念

8-1-1基本概念1.什么是面向对象的程序设计

面向对象程序设计是目前程序设计方法的主流,也是程序设计在思维和方法上的一次巨大进步。面向对象程序设计实际上是在“组装”程序,每个对象中的代码对于许多编程人员来说是透明的,编程人员更为关心的是功能和接口,也就是对象所具有的属性和方法程序。面向对象方法与结构程序设计方法之区别在学习表单设计中,通过上机实践对面对象的程序设计已有了一定的认识,下面以表所示:设方式方法设计方式数据显示方式处理方式使用方式处理顺序结构程序面向对象程序过程性(Process)对向性(Object)显示型隐藏型单一程序编码对象模块化一次使用可以重用定位方式非定位方式设计方式:指对问题处理的程序设计方式。(1)、过程性的设计思想中•是针对问题采用顺序性的程序处理决问题。•采用逻辑概念设计程序文件。•在解决问题的过程中,常发生调用子过程程序文件。(2)、面向对象程序设计方法,是采用“对象”为设计思想中心。•不采用顺序性处理方式,对问题采用了对象本身的属性与方法来解决问题。•在处理问题过程中,可以直接在对象中设计事件程序,直接触发问题。2.面向对象的程序设计的新特性

VFP6.0完全支持面向对象的设计方法,但同时又提供对面向过程的支持。从而为程序设计带来巨大的方便。可以使用户的程序具有以下的特点:l代码更为精练;l对象可以很容易地组装成为应用程序,而不必把太多的精力用于关心每一个对象的细节;l代码的维护和代码的复用更为方便,大型程序的构造更为简单。它通过抽象思维的方式,把日常生活中常见的问题简化成人们易于理解的模型,然后再在这模型之间建立关系,从而最终形成一个完整的系统。3.基本术语

(1).对象(Object)

通常,对象是指各种大大小小的具体的客观事物。在程序设计中,对象是私有数据和对这些数据进行处理的操作(方法程序)相结合的程序单元(实体)。一个“表单”可以看作一个对象,“表单”中的一个“命令按钮”,一张图片也可以看作对象。

(2).属性(Property)

属性定义了对象所具有的数据,它是对象所有特征数据的集合。每个对象都具有“属性”。“属性”值可以在设计阶段设置,也可以在运行阶段更改,但有些“属性”是只读属性,不可改变。

(3).方法程序(Method)

“方法程序”是指对象为实现一定功能而编写的代码。

(4).事件(Event)

事件是用户或系统的动作所引发的事情,由用户或者系统的操作而激活。VFP中的事件通常包括键盘“事件”和鼠标“事件”,例如单击鼠标就发生了一个“Click”事件。为了响应事件,可以为事件加入相应的代码,也可以执行某个方法。

(5).类(Class)

类是一组具有相同特性的对象的抽象定义。类是具有相同或相似特征的对象的抽象,对象是类的具体的实例。类可以具有子类(Subclass)。

子类可以继承父类所有的属性和方法,也可以根据需要加入新属性和方法。(6).类与对象运算符

专门用于实现面向对象的程序设计。

“.”点运算符,确定对象与类的关系,以及属性、事件和方法与其对象的从属关系。

“::”作用域运算符,用于在子类中调用父类的方法。

8-1-2VFP中的类

1.类的概念

(1).类与对象

在面向对象程序设计中,类与对象都是应用程序的组装模块。

类是已经定义了的关于对象的特征和行为的模板。在表单控件工具栏中,每个控件按钮都代表一个类,用其中某个按钮在表单上创建的一个控件就是一个对象。从上可以看出:

类是对象的定义。类规定并提供了对象具有的属性、事件和方法程序。

对象通过类来产生。对象是类的实例。

(2).基类(baseclass)

基类是VFP预先定义的类,在“新建类”对话框的“派生于”下拉列表中,包含了全部基类,例如表单(Form)、表单集(FormSet)等。基类可作为用户定义类的基础。用户可从基类来创建新类,并增添自己需要的新功能。(3).子类(subclass)以某个类的定义为起点创建的新类称为子类,前者称为父类。例如从基类来创建新类时,基类是父类,新类是子类。

新类将继承父类的全部特征,包括对父类所做的任何修改。

2.类的特征

类是模板,它规定了各类对象的属性、事件和方法程序。此外,类还具有类的封装性、继承性、多态性、抽象性四大特征。这些特征有利于提高代码的可重用性和易维护性。(1)封装特征

封装指包含并隐藏对象信息,如内部数据结构、对象的方法程序和属性代码。

封装隐藏了对象内部的细节,例如对一个命令按钮设置Caption属性时,不必了解标题字符串是如何存储的。隐藏对象信息的优点有:

有利于对复杂对象的管理。由于隐藏了对象内部细节,使用户能集中精力来使用对象的特性。有利于程序的安全性。隐藏对象信息能防止代码不慎受到破坏。

(2)继承性特征

继承性包括以下内容:l

对象能自动继承创建它的类的功能。l

子类能自动继承父类的功能。l

对一个类的改动能自动反映到它的所有子类中。继承性不只节省了用户的时间和精力,同时也减少了维护代码的难度。所以,继承性是合理地进行代码维护的重要措施。(3)多态性指一些关联的类包含同名的方法程序,但方法程序的内容可以不同,具体调用在运行时根据对象的类确定。(4)抽象性——指提取一个类或对象与众不同的特征,而不对该类的所有信息进行处理封装。(5)子类特征

一个子类可以拥有其父类的全部功能,但也可以增加自己的属性和方法,使它具有与父类不同的特殊性。

如果创建一个合适的子类,并在多处创建它的实例,就能使代码得到重复使用,因此定义子类是减少代码的途径之一。3.VFP的基类

VFP中的基类又可以分为容器类和控件类。(1)容器类可以包含其他对象的类称为容器类。容器对象可作为父对象,其包含的对象称为子对象。例如,表单对象作为容器,可以包含命令按钮、文本框、复选框等子对象。容器内还可以包含容器类对象,例如表单容器内包含表格、页框、命令按钮组等容器对象。而子容器中还可以包含命令按钮、选择按钮等控件对象。

表8-1

VFP中的容器类

容器类名称说明列(Column)可以容纳标头等对象,但不能容纳表单、表单集、工具栏和计时器命令按钮组(CommandButtonGroup)只能容纳命令按钮表单(Form)可以容纳页框、容器控件、容器或自定义对象表单集(FormSet)可以容纳表单、工具栏表格(Grid)只能容纳表格列选择按钮组(OptionButtonGroup)只能容纳选项按钮页面(page)只能容纳控件、容器和自定义对象页框(PageFrame)只能容纳页框工具栏(ToolBar)可容纳任意控件、页框和容器

不允许包含其他对象的类称作控件类,换句话说,控件对象不能作为父对象。例如,命令按钮、选择按钮、复选框、文本框、标签等控件对象,就不能包含其他对象。

表8-2

VFP中的控件类

控件类名称说明复选框(CheckBox)创建一个复选框组合框(ComboBox)创建一个组合框命令按钮(Command-Button)创建一个单一的命令按钮编辑框(EditBox)创建一个编辑框图像(Image)创建一个显示.BMP文件的图像控件标签(Label)创建一个用于显示正文内容的标号线条(Line)创建一个能够显示水平线、垂直线或斜线的控件列表框(listBox)创建一个列表框选项按钮(Option-Button)创建一个单一的选项按钮形状(Shape)创建一个显示方框、圆或者椭圆的形状控件微调(Spinner)创建一个微调钮文本框(TextBox)创建一个文本框计时器(Timer)创建一个能够规则地执行代码的计时器(2)控件类8-1-3VFP中的对象

1.基本概念

在OOP中,对象是构成程序的基本单位和运行实体。在面向对象程序设计中,现实世界的事物均可抽象为对象,例如表单上的命令按钮是对象,表单本身也是对象。在VFP中,对象又可区分为控件和容器两种。(1)控件:控件是表单上显示数据和执行操作的基本对象。(2)容器:容器是可以容纳其它对象的对象,表8.3列出了VFP的容器及其可能包含的对象。

表单控件工具栏上的按钮中,有的能创建控件,例如命令按钮、文本框和列表框等按钮;有的能创建容器,例如命令按钮组、表格、页框等按钮。表8-3容器包含的对象

容器能包含的对象表单集(FormSet)表单、工具栏表单(Form)页框、表格,任何控件页框(PageFrame)页面页面(Page)表格,任何控件表格(Grid)表格列表格列(GridColumn)标头对象、除表单、表单集、工具栏、计时器和列对象以外的对象选项按钮组(OptionButtonGroup)选项按钮命令按钮组(CommandButtonGroup)命令按钮工具栏(ToolBar)任何控件,页框,容器Container容器(Container)任何控件2.属性

对象的属性用来表示它的特征,以命令按钮为例,其位置、大小、颜色、以及该按钮面上是显示文字还是图形等状态,都可用属性来表示。表8-4为对象设置属性

属性说明Name命令按钮名称,编程时用Caption命令按钮上显示的文本FontName命令按钮上文本的字体FontSize命令按钮上文本的尺寸ForeColor命令按钮上文本的颜色BackColor命令按钮上文本的背景Top命令按钮顶边的位置Height命令按钮的高度Width命令按钮的宽度设置属性语法:Parent.Object.Property=Value(即:父.对象.属性=值)设置多个属性语法:WITH…ENDWITH例如,在表单集的一个表单中,要设置表格列的多个属性,可以使用如下语法结构:WITHfrsFormSet1.frmForm1.grdGrid1.grcColumn1.width=5.Resizable=.F..ForeColor=RGB(0,0,0).BackColor=RGB(255,255,255,).SelectOnEntry=.T.ENDWITH3.对象引用

在面向对象的程序设计中常常需要引用对象,或引用对象的属性、事件与调用方法程序。(1).对象引用规则:

l

通常用以下引用关键字开头:THISFORMSET表示当前表单集THISFORM表示当前表单THIS表示当前对象PARENT当前对象的直接容器对象l

引用格式:引用关键字后跟一个点号,再写出被引用对象或者对象的属性,事件或方法程序。例如:THIS.Caption&&本对象(表单或控件)的Caption属性THISFORM.Cls&&本表单的Cls方法程序,清除表单中的图形和文本l

允许多级引用,但要逐级引用。例如:THISFORM.Command1.Caption&&本表单的Command1命令按钮的Caption属性THIS.Command1.Click&&本对象的Command1命令按钮的Click事件(2)几种常用的引用格式:

THISFORMSET.PropertyName|Event|Method|ObjectNameTHISFORM.PropertyName|Event|Method|ObjectNameTHIS.PorpertyName|Event|Method|ObjectNameObjectName.PropertyName|Event|Method|ObjectName其中PropertyName表示属性名,Event表示事件,Method表示方法程序,ObjectName表示对象名。

(3)控件也可引用包含它的容器

格式为:

Control.Parent其中Control表示控件,Parent表示容器。例如,THIS.Parent.Command1.Caption,表示引用本对象的容器的Command1命令按钮的Caption属性。类是生成对象的模具,而对象是按类在应用程序中生成的实例。VFP系统提供了30余个基类,并为每个基类规定了可使用的属性、方法和事件。

“方法”(methods)是指对象为实现一定功能而编写的代码,“方法”和对象相连。事件中的代码可以认为是基于事件的响应方法。但“方法”可以独立于事件的单独代码,必要时可以由其它方法或程序代码进行显示的调用。 事件通常已经预先由系统定义好了,不能随便的扩充,而方法和属性却可以无限的扩展,事件的发生具有一定的顺序,如:load和click,load在执行表单时就激活了,而click在执行表单后需单击命令按钮才激活。8-1-4VFP中的事件和事件过程1.事件

下表列举了VFP的核心事件集,并适用于多数控件:事件激发后动作表单或表单集被加载进内存。表单或表单集从内存中释放。对象被创建。对象从内存中释放。用户用主鼠标按钮单击对象。用户用主鼠标按钮双击对象。用户用辅(右)鼠标按钮单击对象。对象接收焦点,由用户动作(如按Tab键和单击),或者在代码中使用SetFocus方法引起。

LoadUnloadInitDestroyClickDblClickRightClickGotFocus3、为事件编写代码当事件发生时,该事件的过程代码将被执行。系统响应用户动作时,事件将被自动触发。例如,当用户单击一个控件时,系统自动执行为Click事件编写的代码。事件代码也能由系统事件触发,例如在计时器控件中的Timer事件。2.事件驱动方法事件一旦被触发,系统马上就去执行与该事件对应的过程。待事件过程执行完毕后,系统又处于等待某事件发生的状态,这种程序执行方式明显地不同于面向过程的程序设计,称为应用程序的事件驱动工作方式。4、方法程序(1)基本概念方法程序这个名词,它与方法一词的概念完全不同,后者仅含通常意义,前者则是一个关于对象的概念。方法程序是VFP为对象内定的通用过程,能使对象执行一个操作。方法程序过程代码由VFP定义,对用户是不可见的。

(2)方法程序的调用一旦对象被建立,就可以在应用程序的任何一个地方调用此对象的方法。调用方法的语法如下:Parent.Object.Method(即:父.对象.方法)例:调用显示一个表单的方法:frsFormset.frmForm1.Show方法:•文件菜单笺—新建—表单—新文件(或向导)•项目管理器—文档—表单—新建即可进入表单设计器常使用表单向导(FormWizard)或表单设计器(FormDesigner)来新建表单。1、使用向导建立新表单在表单向导对话框中,按提示(与使用其它向导一样)一步步选择完成。2、在表单设计器中用户自已设计表单8-2创建表单表单又叫“窗体”,提供给用户一个对数据查看、输入的屏幕“界面”;提供了一个能适应用户事件和系统事件的强有力的对象集,使用户能方便地完成信息管理任务。8-2-1使用向导建立表单1、创建单表表单2、创建一对多表单8-2-2使用表单设计器创建表单1.创建快速表单2.使用表单设计器创建表单步骤:每个表单都有相应的属性、事件、方法。常用表单控制工具栏、调色板工具栏、布局工具栏、属性窗口、数据环境等进行设计。设计一个表单的步骤:1)创建表单并设置表单的属性2)给表单添加适当的控件3)设置控件的属性4)编写事件代码设置数据环境:8-2-3表单属性选定对象查看类标签文本框编辑框命令按钮命令按钮组选项按钮组复选框组合框列表框微调控件表格图象计时器页框Active控件绑定控件线条形状容器分隔符超级链接生成器锁定按钮锁定

可在设计期间或运行期间操作VFP控件。VFP控件通用而强大,可以配置不同的控件来完成同样的任务。8-3表单控件的使用8-3-1、表单控件1.控件的分类(1)常用控件表单设计器窗口的表单控件工具栏显示的便是常用控件。这些常用控件的功能和使用方法,将在下面进行详细介绍(2)ActiveX控件ActiveX控件是OLE自定义控件,通常用于32位的开发工具和平台,功能强大,应用也较复杂。

(3)自定义控件用户可以自己定义控件,可以选择一个可视类库作为控件添加到工具栏中。表单控件工具栏中各控件的功能。3.控件的使用方法

选定控件分组控件移动控件改变控件大小删除控件取消控件1.功能标签主要用于显示固定的文本信息。2.常用属性caption:指定标签的显示文本。可以在设计时设置,也可以在程序运时设置或修改。Forecolor:设置标题的字体颜色。Backstyle:设置标签的背景是否透明,0透明,1不透明,默认为不透明。name:标签对象的名称,是程序中访问标签对象的标识。Alignment:指定标题控件中显示的对齐方式。3.举例:P1838-3-2标签(Label)控件1.功能:①用于显示或接收单行文本信息(不设置ControlSource属性),默认输入类型为字符型,最大长度为256个字符。②用于显示或编辑对应变量或字段的值(设置ControlSource属性为已有变量或字段名)。2.常用属性ControlSource:设置文本框的数据来源。一般情况下,可以利用该属性为文本框指定一个字段或内存变量。8-3-3文本框(TextBox)控件Value:保存文本框的当前内容,如果没有为ControlSource属性指定数据源,可以通过该属性访问文本框的内容。它的初值决定文本框中值的类型。如果为ControlSource属性指定了数据源,该属性值与ControlSource属性指定的变量或字段的值相同。PassWordChar:设置输入口令时显示的字符。Readonly:确定文本框是否为只读,为“.T.”时,文本框的值不可修改。

3.常用的事件过程

GetFocusEvent:获得焦点后发生。例如:

THIS.SelStart=0THIS.SelLength=LEN(ALLTRIM(THIS.value)WhenEvent:获得焦点前发生,返回逻辑值。例如:

IFTHIS.Value>500=MESSAGEBOX(“数据已经很大,不允许再编辑”)ENDIFRETRUNTHIS.Value<=500

ValidEvent:失去焦点之前发生,常用于进行数据合法性检查,返回一个逻辑值,为假时不允许失去焦点。例:RETRUNTHIS.Value>=200andTHIS.Value<=300LostFocusEvent:控件失去焦点时发生的事件。此过程与Valid基本相同,但是不进行合法性检验。

4.文本框生成器

右单击文本框,可通过快捷菜单打开文本框生成器。【例】创建一个如图所示的登录窗口,并将表单保存为FORM2。在“确定”按钮的单击事件中输入如下代码:Ifthisform.text1.value="user1“andthisform.text2.value="123456"doformmainform

elsemessagebox("密码或用户名错误",0,"提示")endif在“取消”按钮的单击事件中输入如下代码:nAnswer=messagebox("你决定退出系统吗?",4,"提示")DOCASECASEnAnswer=6thisform.releaseCASEnAnswer=7messagebox("请输入用户名和密码",0,"提示")ENDCASE8-3-4编辑框(EditBox)控件1.功能

用于显示或编辑多行文本信息。编辑框实际上是一个完整的简单字处理器,在编辑框中能够选择、剪切、粘贴以及复制正文,可以实现自动换行,能够有自己的垂直滚动条。2.常用属性ControlSource:设置编辑框的数据源,一般为数据表的备注字段。Value:保存编辑框中的内容,可以通过该属性来访问编辑框中的内容。SelLength:返回用户在文本输入区中所选定字符的数目。SelText:返回用户在编辑区内选定的文本,如果没有选定任何文本,则返回空串。Readonly:确定用户是否能修改编辑框中的内容。Scroolbars:指定编辑框是否具有滚动条,当属性值为0时,编辑框没有滚动条,当属性值为2(默认值)时,编辑框包含垂直滚动条。3.举例:P1858-3-5列表框(ListBox)控件

1.功能

列表框提供一组条目(数据项),用户可以从中选择一个或多个条目,一般情况下,列表框显示其中的若干条目,用户可以通过滚动条浏览其他条目。2.常用属性

列表可以一列,也可以多列,但只能有一列的数据和Value属性的值捆绑。RowSourceType属性与RowSource属性:RowSourceType属性指明列表框数据源的类型,RowSource属性指定列表框的数据源,两者常用的搭配如下表:RowSourceType属性值RowSource属性0-无在程序运行时,通过AddItem方法添加列表框条目,通过RemoveItem方法移去列表框条目无1-值列出在RowSource属性中指定所有数据项可以是用逗号隔开的若干数据项的集合,例如,在设计时,在本属性框中输入:北京、上海、长沙、武汉5-数组列出数组的所有元素使用一个已定义的数组名。6-字段列出一个字段的所有值字段名7-文件列出指定目录的文件清单磁盘驱动器或文件目录8-结构列出数据表的结构表名List属性:用以存取列表框中数据条目的字符串数组。例如,LIST[1]代表列表框中的第一行(第一个数据项)。ListCount属性:列表框中数据条目的数目ColumnCount属性:指定列表框的列数Value属性:返回列表框中被选中的条目ControlSource属性:该属性在列表框中的用法与在其他控件中的用法有所不同,在这里,用户可以通过该属性指定一个字段或变量用以保存用户从列表框中选择的结果Selected属性:该属性是一个逻辑型数组,第N个数组元素代表第N个数据项是否为选定状态MultiSelect属性:指定用户能否在列表框控件内进行多重选定列表框的事件过程常用过程有ClickEvent,DbclickEvent,AddItem,RemoveItem列表框生成器在四个选项页中分别选定列表项、样式、布局和与Value绑定的列及选定值保存到何处。【例】列表框的应用:按下图设计一个表单。要求表单运行时,LIST1列表框显示STUD表的所有字段,单击左箭头按钮时,LIST1中选择的字段加入到LIST2中。操作步骤:①按图所示在表单中加入二个列表框、二个标签、二个命令按钮。②在表单的INIT事件中加入如下代码:thisform.list1.value=0thisform.list2.value=0opendatabasestudentusestudfori=1tofcount()thisform.list1.additem(fields(i))nextclosedatabase③在左箭头按钮(COMMAND1)的CLICK事件中加入如下代码:thisform.list2.addlistitem(thisform.list1.listitem[thisform.list1.value])thisform.list1.removeitem[thisform.list1.value]右箭头按钮(COMMAND2)的CLICK事件代码请大家自己编写。8-3-6命令按钮(CommandButton)控件1.功能命令按钮形象直观,所以命令按钮典型地用来启动某个事件代码、完成特定功能,如关闭表单、移动记录指针、打印报表等。2.常用属性

Default:命令按钮的Default属性默认值为.F.,如果该属性设置为.T.,在该按钮所在的表单激活的情况下,按Enter,可以激活该按钮,并执行该按钮的Click事件代码。一个表单只能有一个按钮的Default属性为真。Cancel:命令按钮的Cancel属性默认值为.F.,如果设置为.T.,在该按钮所在的表单激活的情况下,按Esc键可以激活该按钮,并执行该按钮的Click事件代码。一个表单只能有一个按钮的Cancel属性为真。Caption:设置按钮的标题。Enable:确定按钮是否有效,如果按钮的属Enable为.F.,单击该按钮不会引发该按钮的单击事件。对命令按钮的使用最重要的是编写Click事件代码。8-3-7表格(Grid)控件1.功能:表格控件用于浏览或编辑多行多列数据。2.常用属性RecordSourceType和RecordSource属性:RecordSourceType指明表格数据源的类型,RecordSource属性指定数据的来源,它们取值及含义如表所示。

表格控件用于浏览或编辑多行多列数据。表格提供了一个全屏幕输入输出数据表记录的方式,它也是一个以行列的方式显示数据的对象容器控件。一个表格控件包含一些列(Column)控件,每个列控件能够容纳一个标头对象(Header)和文本框(Text)。一般来说与一定的表,视图或查询联系在一起,属于一种数据绑定型控件。常用于显示一对多关系中的子表信息RecordSourceType属性值RecordSource属性0-表:数据来源由RecordSource属性指定的表,该表能被自动打开表名1-别名数据来源于己打开的表表的别名2-提示运行时,由用户根据提示选择表格数据源

3-查询数据来源于查询查询文件名4-SQL语句数据来源于SQL语句SQL语句ColumnCount:指定表格的列数LinkMaster:用于指定表格控件中所显示的子表的父表名称ChildOrader:指定子表的索引RelationalExpr:确定基于主表字段的关联表达式AllowAddNew:为真,运行时允许添加新记录,否则不能添加新记录AllowRowSizing:为真,运行时用户可改变行高。AllowHeaderSizing:为真,运行时用户可改变列宽。常用的列属性ControlSource:指定在列中显示的数据源.CurrentControl:指定列对象中显示和接收数据的控件.Sparse:用于确定CurrentControl属性影响列中的所有单元格还是只影响活动单元格.注意:设计时要设置列对象的属性,首先得选择列对象,选择列对象有两种方法:①从属性窗口的对象列表中选择相应列,②右击表格,在弹出的快捷菜单中选择【编辑】命令,这时表格进入编辑状态(表格的周围有一个粗框),用户可用鼠标单击选择列对象。常用的标头(Header)属性列标头也是一个对象,有它自己的属性、方法和事件,设计时要设置标头对象的属性,首先得选择标头对象,选择标头对象的方法与选择列对象的方法类似。Caption属性:指定标头对象的标题文本,显示于列顶部。默认为对应字段的字段名。Alignment属性:指定标题文本在对象中显示的对齐方式。调整表格的行高和列宽一旦指定了表格的列的具体数目,就可以有两种方法来调整表格的行高和列宽。①设置表格的HeaderHeight和RowHeight属性调整行高;设置列对象的Width属性调整列宽。②让表格处于编辑状态下,将鼠标指针置于表格两列的标头之间,这时,鼠标指针变为水平双箭头的形状,拖动鼠标,调整列至所需要的宽度;将鼠标置于表格左侧的第一个按钮和第二个按钮之间,这时,鼠标指针变成垂直双箭头的形状,拖动鼠标,调整行至所需要的高度。使用表格生成器设计表格

用鼠标左键右击表格,在弹出的快捷菜单中选择【生成器】命令,打开“表格生成器”对话框,如图所示。“表格项”选项卡:用于设置表格内显示字段“样式”选项卡:指定表格的样式“布局”选项卡:调整行高、列宽;设置列标题;选择控件类型“关系”选项卡:设置一个一对多关系,指明父表中的关键字段与子表中的相关索引在表格中嵌入控件

除了在表格中显示字段数据,还可以在表格的列中嵌入控件,这样就为用户提供了可以嵌入的文本框、复选框、下拉列表框、微调按钮和其他控件。例如,如果表中有一个逻辑字段,当运行该表单时,通过辨认复选框可以判定哪个记录值是.T.和哪个记录值是.F.。修改这些值只需设置或清除复选框即可。可以在“表单设计器”中交互地向表格列中添加控件,也可以通过编写代码在运行时添加控件。3、举例:P1881.功能

用于在表单上创建一组命令按钮。2.常用属性

ButtonCount:设置命令按钮组中命令按钮的个数。Enabled:指定命令按钮或命令按钮组是否有效。如果同时设置了命令按钮组和命令按钮组中某个命令按钮Enabled的属性,且它们的属性不相同,则以命令按钮组的Enabled的属性值为准。3.举例:P1898-3-7命令按钮组(CommandGroup)控件8-3-9计时器1.功能用于在表单中创建一计时器,计时器会以一定的时间间隔执行事先编写的事件代码。在Timer事件中,放人需要重复执行的事件代码,如检索系统时钟、定时完成一些后处理等。在表单设计器中,计时器是可见的,便于设计者选择该控件,设置其属性和编写事件过程。而运行表单后,计时器就不可见了,因此它的大小和位置不会对表单的界面有任何影响。2.常用属性(1)Enabled:设置计时器是否工作。该属性值为.T.时,计时器开始工作,否则,计时器将被挂起。另外,该属性也可以通过触发其他控件的事件来设置。(2)Interval:设置两次计时器事件(Timer事件)的时间间隔,单位为毫秒。该属性的值不要设置得太小,否则占用处理器的时间太多,会降低整个程序的性能。3.举例:P1901.功能

0LE绑定控件常用来在表单上显示与通用型字段有关的OLE对象,显示内容随着记录的变化而变化。因此,它与数据表中的通用型字段相连接。2.常用属性

(1)CortrolSource:设置与数据表中某一通用型字段相连接。(2)Stretch:设置OLE对象与显示区域的大小比例。它包括三种情况:0——剪裁(默认值):超过显示区域部分的图像被剪去。1——等比填充:OLE对象等比例放大或缩小显示。2——变比填充:以显示区域为前提,显示整个0LE对象。3.举例:P1918-3-10OLE绑定控件1.功能图像控件用于在表单上添加一个.bmp图像文件所包含的图片,以美化表单界面的设计,但该图片不能直接修改。2.常用属性(1)Picture:指定该控件要显示的.bmp图像文件。(2)BorderStvle:选择是否显示边框,默认状态为无边框。(3)Stretch:设置图像的填充方式,其中:0—剪裁:系统会自动地剪裁图像的大小,可能会导致图像无法全部显示出来,该选项是默认值。l—变比填充:按原图像的比例进行缩放,在不改变图像原来比例的条件下,根据控件的大小自动调整图像,使其尽量填满控件。2—变比填充:根据控件的大小,自动调整图像,但其为了填满控件,也许无法保留图像原有的比例从而使图像失真。

1.举例:P1928-3-11图像1.复选框(CheckBox)控件1).复选框的功能

用于标识一个两值状态,如真(.t.)或假(.f.)。当处于“真”状态时,复选框内显示一个对勾,当处于“假”状态时复选框内为空白。2).复选框常用属性属性值说明0或.F.(默认值),未被选中1或.T.被选中>=2或null不确定,只在代码中有效Value:用来指明复选框的当前状态,如下表ControlSource属性:用于指定复选框的数据源补充控件2.选项组(OptionGroup)控件1).选项组控件的功能

选项组又称为选项按钮组,是包含选项按钮的一种容器。一个选项组中往往包含若干个选项按钮,但用户只能从中选择一个按钮。当用户单击某个选项按钮时,该按钮即成为被选中状态,而选项组中的其他选项按钮,不管原来是什么状态,都变为未选中状态,被选中的选项按钮中会显示一个圆点。2).选项组常用属性ButtonCount:指定选项组中选项按钮的数目。Value:用于指定选项组中哪个选项按钮被选中。Buttons:用于存取选项组中每个选项的数组。

ControlSource:指定选项组数据源。将该属性值设为一个字符型变量或字段变量名,就可以把选定的选项文字自动存入变量,变量的值也会使文字相同的选项自动被选中。如:把表中“性别”字段的取值——男、女设为选项钮的Caption,把选项按钮组的ControlSource设为“性别”,就可以为性别字段输入输出。【例1】:设计一个课程查询表单,在表单中使用单选按钮控件和按钮、文本框。打开表单设计器,使用表单控件工具栏、属性窗口、数据环境设计器,进行以下操作:(1)设计、定义表单属性:Caption=课程查询Name=Form1Visable=.T.(2)在表单中添加一个选择按钮组,在其中用两个选择按钮:AutoSize=.T.ControlSize=无Name=OptionGroup1Visable=.T.l“课程号”按钮Caption=课程号Name=Opti1AutoSize=.T.ClickEvent=用户自定义过程Style=0-标准Value=.T.l“课程名”按钮Caption=课程名Name=Opti2Autosize=.f.ClickEvent=用户自定义过程Style=0-标准Value=.f.(3)添加一个文本框用来输入课程号:Name=Text1AutoSize=.t.ClickEvent=用户自定义过程Style=0-标准Value=1FontSize=8Format=1InitEvent=用户自定义过程InputMask=无MaxLenth=7Seconds=2-默认SelectOnEntry=.T.TabIndex=0(4)添加一个文本框用来输入课程名称:NAME=Text2Alignment=0Autosize=.t.ClickEvent=用户自定义过程ControlSource=无DateFormat=14-汉语Enabled=.T.HideSelection=.F.Style=0-标准Value=FontSize=10Format=KInitEvent=用户自定义过程InputMask=无MaxLenth=8PasswordChar=无ReadOnly=.F.Seconds=2-默认SelectOnEntry=.T.Style=0TabIndex=4Visable=.T.(5)添加“开始”命令按钮:NAME=Command1AutoSize=.F.ClickEve

温馨提示

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

评论

0/150

提交评论