第6章表单设计与应用_第1页
第6章表单设计与应用_第2页
第6章表单设计与应用_第3页
第6章表单设计与应用_第4页
第6章表单设计与应用_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

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

文档简介

1、1第第6章章 表单设计与应用表单设计与应用江苏大学江苏大学 杨永梅26.1 面向对象面向对象l面向对象程序设计(OOP)基于问题对象的自底向上的功能综合。面向对象的方法将过程和信息组合成单元(类和对象)。这些单元中的信息通常是隐藏的,需要通过界面或一系列的数据才能显现出来。面向对象的程序设计是通过对类、子类和对象等的设计来实现的。 具体见教材P.1723对象(对象(Object)对象是对象是类的一个实例,包括了数据和过程(操作),是动态概念。 VFP中应用程序对象主要指表单、表单集及各种控件。 对象根据所基于的类的性质,也可以分为容器对象和控件对象。程序由一个或多个类组成,在程序运行时需要创建

2、该类的各个对象。 每个对象都有属性以及与之相关的事件和方法 。具体见教材P.1724类类(Class)l类定义了对象特征以及对象外观和行为的模板。l类刻划了一组具有共同特性的对象。 l四大特征:继承性:在类、子类和对象之间自动共享函数和数据的一种机制。多态性:允许相关的对象对同一消息做出不同反应。封装性:在对象内部,数据和函数是不可分割的,只有通过对象自身的函数才能访问数据。抽象性:允许用户忽略实施细节,而从更高的等级上考虑一个实体。具体见教材P.1725属性(属性(Property)l属性(属性( Property ):定义了对象的特征或某一方面的行):定义了对象的特征或某一方面的行为。例如

3、,表单的为。例如,表单的MaxButton属性决定了表单是否具有属性决定了表单是否具有“最大化最大化”按钮。按钮。l每个对象都有属性。每个对象都有属性。l对象的某些属性可以在设计阶段,也可以在运行阶段设对象的某些属性可以在设计阶段,也可以在运行阶段设置,某些属性则是不能被设置的,是只读的。置,某些属性则是不能被设置的,是只读的。l属性由对象所基于的类决定。属性由对象所基于的类决定。6例:例:下面往表单中加入三个命令按钮下面往表单中加入三个命令按钮(CommandBuotton),其中两个开始时是隐藏的,通过单击第一个命令按钮显其中两个开始时是隐藏的,通过单击第一个命令按钮显示它们,再利用它们来

4、移动表单和退出表单示它们,再利用它们来移动表单和退出表单7例:下面往表单中加入三个命令按钮例:下面往表单中加入三个命令按钮(CommandBuotton),其中两个开始时是隐藏的,通过单击第一个命令按钮显示其中两个开始时是隐藏的,通过单击第一个命令按钮显示它们,再利用它们来移动表单和退出表单。它们,再利用它们来移动表单和退出表单。l按下工具栏中按下工具栏中“CommandBuotton”钮,逐个加入三个命令按钮。钮,逐个加入三个命令按钮。l选择选择“from1”,事件事件form1.Init(表单初始化表单初始化)的代码:的代码:thisform.caption=命令按钮设计实例命令按钮设计实

5、例mand1.caption=单击此按钮显示其它按钮单击此按钮显示其它按钮mand2.caption=移动本表单移动本表单mand3.caption=退出退出mand2.visible=.F. &设置设置command2 按钮运行时不可见按钮运行时不可见mand3.visible=.F. &设置设置command3 按钮运行时不可见按钮运行时不可见l选择选择“command1”,事件事件command1.click(单击单击)的代码:的代码:mand2.visible=.T. &显示显示 command2 按钮按钮mand3.visible=.T. &显示显示 command3 按钮按钮thi

6、s.enabled=.F. &设置自身设置自身command1 按钮不能用按钮不能用l选择选择“command2”,事件事件command2.click(单击单击)的代码:的代码:thisform.left=thisform.left+10 &点击鼠标使表单向右移动点击鼠标使表单向右移动l选择选择“command3”,事件事件command3.click(单击单击)的代码:的代码:thisform.release &关闭此表单关闭此表单8VFP中类的层次中类的层次l基类:系统本身所提供的类。l子类:引用VFP基类或其他子类建立的新类。l类库:用于存放子类的库文件。(.VCX/.VCT)类库VF

7、P基类子类子类子类96.2.1基类(基类(BASSCLASS)l表8-1VFP6.0的基类(29个) 具体见教材P.17410VFP基类的最小属性集Class:类名,该类属于何种类型。BaseClass:基类名,该类由何种基类派生而来ClassLibray:类库名,该类属于哪种类库文件ParentClass:父类名,对象所基于的类(该类的父类),若该直接由VFP 基类派生而来,则ParentClass 属性值与BaseClass 属性值相同。具体见教材P.174116.2.2 VFP的容器与控件的容器与控件控件类Controls容器类ContainersVFP基类具体见教材P.174126.2

8、.2 容器与控件容器与控件VFP的基类有两种:容器类和控件类。容器类:包容其他类的基类。将容器类的对象加入表单后,无论在设计时还是在运行时,均可以将该容器类的对象作为一个整体进行操作,也可以分别对其包容的对象处理。 (表6.3)控件类: 可以包容在容器类中的基类。 具体见教材P.17613容器对象和控件对象容器对象和控件对象l控件对象是一个可以以图形化的方式显示并能与用户进行交互的对象。l控件通常被放置在一个容器内。l容器对象是它能包容其他的控件或容器。l不同的容器所能包容的对象类型是不同的。l对象的嵌套层次关系是包容与被包容的关系。l类层次指的是继承与被继承的关系14引用对象引用对象l必须清

9、楚对象的容器层次关系和对象的名(name属性)。l各个对象之间、对象与属性之间用“ ”进行分隔。 l绝对引用绝对引用:从容器的最高层次引用对象,给出对象的绝对地址。 如:Formset1.Form1.Command1l相对引用相对引用:在容器层次中相对于某个容器的引用。通常运用于某个对象的事件处理代码或方法程序代码中。如:This.Parent.Command2 15VFP中中“相对引用相对引用”对象时所用的关键对象时所用的关键字字l关键字:只能在方法程序或事件处理代码中使用。Parent:当前对象的直接容器。THIS:当前对象。THISFORM:当前对象所在的表单。THISFORMSET:当

10、前对象所在的表单集。系统变量_SCREEN表示屏幕对象。具体见教材P.17616事件(事件(Event)事件(Event)是由对象可识别的一个动作。l用户不能自定义事件,事件集合是固定的,不能进行扩充 。l一般由用户或系统激活(计时器),可编写代码来响应事件。l(VFP系统提供的类叫基类)基类的最小事件集:Init:当对象创建的时候激活。Destroy:当对象从内存中释放时激活。Error:当事件或方法程序中出现错误时激活。具体见教材P.17717186.4 表单设计器表单设计器 l表单文件:.SCX/.SCTl表单向导(From Wizard)表单向导:为单个表创建操作数据的表单。 一对多表

11、单向导:为两个相关表创建操作数据的表单。两个表之间一定要存在关系,生成的表单中的记录定位按钮只作用于父表,子表记录可通过窗口操作控制。 l表单设计器l快速表单l编程方法具体见教材P.18119表单设计器表单设计器l使用“表单设计器”能够可视化地创建、修改表单和表单集。lCREATE/MODIFY FORM命令或界面方式打开。 CREATE FORM xs_form.scx MODIFY FORM xs_form.scxl表单设计器窗口具体见教材181206.4.1 表单设计器环境表单设计器环境 -“属性属性”窗口窗口l在“属性”窗口中设置属性,属性值更改后以粗体显示。l一般步骤:选定对象在“属

12、性”窗口中选择属性在“属性”设置框中设置属性值或利用函数按钮设置。l注意点:部分属性值是只读的。(斜体显示)字符型属性值不必用引号括起来。若用表达式赋值,则要在表达式前加上“=”。l技巧:可以为一组对象设置同一属性值。216.4.2 控件的操作与布局控件的操作与布局l修改表单布局选择、 移动、复制、删除l容器对象的选择表格、命令按钮组、选项按钮组、页框等容器类控件中的子控件226.4.3 数据环境数据环境l表单(集)的数据环境包括了与表单交互作用的表和视图,以及表单要求的表之间的关系。 l数据环境是表单的一部分,并没有自己独立的存储空间。 l引入数据环境的目的: 打开或运行表单时它自动地打开表

13、单所基于的表或视图; 将表单属性窗口中的ControlSource属性与数据环境中的所有字段相连; 关闭或释放表单时自动地关闭表和视图。 l在创建表单时,首先要设置表单的数据环境,以确定表单所用到的表和视图。 具体见教材P.185236.4.3 数据环境数据环境l数据环境设计器l向数据环境中添加表或视图l从数据环境中移去表或视图l在数据环境中设置关系如果添加进数据环境设计器的表有永久关系,这些关系将自动地加到数据环境中;如果没有关系,可以在数据环境中设置这些关系。(拖动字段即可) 24256.5 表单属性和方法表单属性和方法Name:指定对象的名字Caption:标题,指定对象的标题的文本,最

14、多256个字符。BackStyle:设置对象背景是否透明。AutoSize:设置是否可以自动地调整对象大小 。ForeColor :设置对象的前景色BackColor :设置对象的背景色对象的namename属性,只有它才能代表对象,它与用户在表单设计器中对象显示的内容(captioncaption属性)是不同的。在引用对象时,用户用到的是对象的名字,即Name属性具体见教材P.18726常用属性常用属性Height :设置对象的高度Left :设置对象的左边缘位置Top :设置对象的上边缘位置Width :设置对象的宽度FontName :设置对象的字体Visuble :设置对象是否可见En

15、able:设置对象是否可用补充27表单的常用属性表单的常用属性AlwaysOnTop:表单是否总处在其他打开窗口之上。AutoCenter:初始化时自动居中。BackColor:表单窗口的颜色。BorderStyle:表单的边框类型。Caption:标题。Closable:能否通过关闭按钮或控制菜单关闭。ControlBox:是否显示控制菜单。DataSession:控制表单(集)中的表是在当前工作期打开(1)还是私有工作期打开(2)。补充28表单的常用属性表单的常用属性MaxButton:是否有最大化按钮。MinButton:是否有最小化按钮。Movable:控制表单能否被拖动。Name:对

16、象的名称。ScaleMode:度量单位。WindowState:控制表单最大化(2)、最小化(1)还是正常态。WindowType:控制表单是模式的还是非模式的。模式表单:用户必须先关闭此表单才能访问应用程序中的其他界面。具体见教材P.19929设置对象的属性设置对象的属性l每个对象有许多属性。但有一些属性是只读的(斜体字)l设计时设置属性值:即在“属性窗口”中设置对象属性。在表单中先加入一些控件,选中某一控件。被选中对象的属性被分为四部分:l数据:这些属性存储关于对象的数据环境信息和 操作这些数据 。l方法程序:显示对象的事件。l布局:对象位置和外观。l其它:在此中存储自定义属性和一些特定属

17、性。“ 方法程序”属性的设置就是编辑代码,左键双击这些属性,就进入代码编辑框,来编辑响应事件的代码。l在程序代码中,使用如下的语法对对象属性进行设置: 引用对象(object).属性(property)=值补充30例:对同一个对象的多个属性的设置例:对同一个对象的多个属性的设置 下列分别设置Text1文本框的value(指定当前状态), ForeColor (前景色)、 BackColor (背景色)、 FontName (字体),代码放在表单的Init事件中。THISFORM.Text1.Value=DATE()THISFORM.Text1.ForeColor=RGB(0,0,0)THISF

18、ORM.Text1.BackColor=RGB(192,192,192)THISFORM.Text1.FontName=黑体以上均为相对引用。补充316.5.2 常用事件与方法常用事件与方法Load事件事件在创建对象前发生。 表单集的Load事件先于表单的Load事件。 在该事件发生时还没有创建任何控件对象,因此在此事件中不能有对控件进行处理的代码。 Init事件:事件:当创建对象时发生。容器所包含的对象的Init事件在容器的Init事件之前发生。Destroy事件:事件:当释放一个对象的实例时发生。 容器对象的Destroy事件在它所包含的任何一个对象的Destroy事件之前发生 具体见教材

19、P.18832表单事件表单事件Unload事件事件 在对象被释放时发生。 是释放表单或表单集的最后一个事件。 Error事件事件 :一个方法中有运行错误时发生。 此两事件用于表单和表单集。具体见教材P.18833焦点事件焦点事件GotFocus事件事件 :当对象接收到焦点时发生。当表单没有控制或者它的所有控制已废止或不可见时表单才能接收焦点。 当对象的Enabled属性和Visible属性均为“真”时对象才能接收焦点。 lLostFocus事件事件 :当对象失去焦点时发生。焦点:用以指出当前被操作的对象。34鼠标事件鼠标事件Click事件事件 :鼠标单击对象时发生。RightClick事件事件

20、 :在控制上按下并释放鼠标右键时发生。 DblClick事件事件 :当连续两次快速按下左键并释放时发生。 具体见教材P.18835改变控件内容的事件改变控件内容的事件InteractiveChange事件在使用鼠标或键盘更改控件的值时发生。 适用于:适用于:复选框、组合框、命令组、编辑框、列表框、选项组、微调、文本框。 在每次交互更改对象时,都要发生此事件。 具体见教材P.18936方法(方法(Method)l对象能够执行的一个操作。l是与对象相关联的过程或函数。l用户可自定义方法程序,因此其集合是可以无限制地扩展的。l在VFP中,方法是与对象相关联的过程(处理代码)。 当事件被激活时,相关的

21、方法代码被执行。 例: 列表框有这样一些方法程序维护它的列表内容: AddItem、RemoveItem和Clear等。l方法程序也可以独立于事件而单独存在,但它在系统中要被显式地调用。 具体见教材P.18937常用方法常用方法lShowShow方法方法:显示一个表单,并且设置是模式表单还是无模式表单。lHideHide方法:方法:隐藏表单、表单集或工具栏。lReleaseRelease方法方法:从内存中释放表单集或表单。lRefreshRefresh方法方法:重画表单或控件,并刷新所有值。lSetFocusSetFocus方法方法:为一个控件指定焦点。具体见教材P.18938396.6 基本

22、型控件基本型控件6.6.1标签(标签(Label)用以显示文本的图形控件。其中的文本用以显示文本的图形控件。其中的文本不能不能被用户直被用户直接修改,通常用于显示提示信息。接修改,通常用于显示提示信息。 Caption:标题,显示内容是字符串,最多:标题,显示内容是字符串,最多256个字符。个字符。BackStyle(0-透明透明,1-不透明不透明):设置标签背景是否透明。:设置标签背景是否透明。AutoSize(.T. ):确定是否可以:确定是否可以自动自动地调整标签大小地调整标签大小 。WordWrap (.T. ) :确定标签上:确定标签上显示显示的文本能否换行。的文本能否换行。 具体见

23、教材P.192对象的namename属性,只有它才能代表对象,它与用户在表单设计器中对象显示的内容(captioncaption属性)是不同的。在引用对象时,用户用到的是对象的名字,即Name属性406.6.2 命令按钮命令按钮命令按钮(CommandButton)常用来启动一个事件以完成某种功能。Caption:指定按钮标题。Picture:指定按钮图片。Default:取“真”时,可按“回车”键选择此按钮。 Cancel:取“真”时,可按“Esc”键选择此按钮。 Enabled:指定能否响应用户引发的事件。 对命令按钮组可以单个或作为一组操作其中的按钮。具体见教材P.19341三个命令按钮

24、三个命令按钮click事件处理代码事件处理代码*Command1. click IF !BOF() SKIP -1 ELSE mand1.Enabled=.f. & BUTTONS(1)命令组集合属性不需要 ENDIF mand2.Enabled=.t. THISFORM.Refresh*Command2. click IF !EOF() SKIP ELSE mand2.Enabled=.f. ENDIF mand1.Enabled=.t. THISFORM.Refresh *Command3. click THISFORM.RELEASE42绑定型控件(绑定型控件(Bound Control

25、)l文本框、编辑框、微调框、复选框、选项按钮、命令按文本框、编辑框、微调框、复选框、选项按钮、命令按钮、命令按钮组钮、命令按钮组、列表框、组合框、表格、列表框、组合框、表格、OLE绑定型绑定型控件等可以与数据捆绑。控件等可以与数据捆绑。 lControlSource 属性可用于指定属性可用于指定 与其他与其他(除表格、列表除表格、列表框、组合框控件以外框、组合框控件以外)控件绑定的数据源。控件绑定的数据源。lRecordSource属性用于指定与表格控件相绑定的数据属性用于指定与表格控件相绑定的数据源源lRowSoruse 属性可用于指定与其列表框、组合框控件属性可用于指定与其列表框、组合框控

26、件相绑定的数据源相绑定的数据源补充材料436.6.3 文本框(文本框(TextBox)l文本框(文本框(TextBox):):可以显示、输入、编辑保存在表中的可以显示、输入、编辑保存在表中的非备注型字段非备注型字段的数据。的数据。l与文本框有关的主要属性有:与文本框有关的主要属性有:ControlSource:指定与文本框绑定的数据源。:指定与文本框绑定的数据源。Value:指定文本框当前选定的值。:指定文本框当前选定的值。InputMark:指定数据的指定数据的输入的限制条件输入的限制条件格式和显示方式。格式和显示方式。Format:指定:指定Value 属性的属性的输出输出格式格式(K)。

27、PasswordChar:当需要接收安全信息时,同时不显示实际输当需要接收安全信息时,同时不显示实际输入值,这时可以将文本框的入值,这时可以将文本框的PasswordChar属性设置为属性设置为* 或其字或其字符。实际输入的值将保存在文本框的符。实际输入的值将保存在文本框的Value属性中。属性中。 具体见教材P.194446.6.4 编辑框(编辑框(EditBox)l编辑框(编辑框(EditBox)编辑框与文本框的用途相似;编辑框可以输入或编辑长字段或编辑框与文本框的用途相似;编辑框可以输入或编辑长字段或备注型字段;编辑框允许自动换行并能用光标移动键、操作滚备注型字段;编辑框允许自动换行并能

28、用光标移动键、操作滚动条来浏览文本;动条来浏览文本;ScrollBars:决定编辑框是否有垂直滚动条。:决定编辑框是否有垂直滚动条。ReadOnly :指定用户能否编辑编辑框中的内容。指定用户能否编辑编辑框中的内容。SelStart: 是否具有滚动条。是否具有滚动条。SelStart:返回用户在编辑框中所选文本的起始点位置或插入点。返回用户在编辑框中所选文本的起始点位置或插入点。 SelLength:返回用户的控件文本输入区中所选字符的数目。返回用户的控件文本输入区中所选字符的数目。SelText:返回用户编辑区内选定的文本。返回用户编辑区内选定的文本。在实际操作时向表单中添加文本框与编辑框时

29、可以利用相应的生成器。许多控件都有生成器。具体见教材P.198456.6.5 复选框(复选框(CheckBox)l指定或显示一个逻辑状态:真/假、开/关、是/否。 l复选框有三种可能的状态:0或F、1或T、2或NULL。 lControlSource:设置为表中的逻辑型字段。当前记录值为“真”时,选中;“假”时,未选中;当前记录为空值时复选框显示为灰色。 lStyle 可以设置图形(0 标准),(1 图形)lDownpicture 按下(单击)lPicture 具体见教材P.200466.6.6 列表框(ListBox)l用于显示一组预定的值并可以通过滚动条来操用于显示一组预定的值并可以通过滚

30、动条来操作浏览列表信息,用户可从列表中选择需要的作浏览列表信息,用户可从列表中选择需要的数据数据。lRowSource:决定列表框的数据源(行源)。 lRowSourceType:列表框的数据源的类型。 具体见教材P.201 表6.15。lControlSource:指定从列表中选择的值保存在何处。具体见教材P.20047多列列表框多列列表框RowSource:xh,xm,xdhRowSourceType: 6-字段 ColumnCount:3 设置列的个数ColumnWidths:75,75,75 各列的宽度486.6.7 组合框组合框l组合框组合框 (ComboBox)类似类似列表框和文本

31、框列表框和文本框的组的组合,可在其中输入值或从列表中选择条目。合,可在其中输入值或从列表中选择条目。 lStyle:决定组合框的类型Style 0 兼有列表框和文本框的功能Style 2 只能从下位列表框中选择数据 具体见教材P.20249组合框组合框RowSource:kcmRowSourceType: 6-字段 Style 0 兼有列表框和文本框的功能Style 2 只能从下位列表框中选择数据506.7 容器型控件容器型控件l6.7.1 命令组l6.7.2 选项组l6.7.3 表格l6.7.4 页框具体见教材P.20451容器对象的集合属性和计数属性容器对象的集合属性和计数属性l集合属性:

32、是数组,用以引用每个包含在其中的对象。l计数属性:表明容器所包含的对象的数目。容器集合属性计数属性备注_SCREEN、表单集FormsFormCount只读表单、页面、列、工具栏、容器ControlsControlCount页框PagesPageCount可读写表格ColumnsColumnCount命令组、选项组ButtonsButtonCount补充材料526.7.1 命令组命令组命令按钮(CommandGroup)常用来启动一组命令按钮的窗口控件。ButtonCount:指定命令按钮组中按钮的数目Buttons:集合属性,是数组,用以引用每个包含在其中的对象。THIS.BUTTONS(2

33、).Enabled=.f. Value:表示选定的是第几个按钮。THIS.VALUE=1对命令按钮组可以单个或作为一组操作其中的按钮。具体见教材P.20453命令按钮组程序代码命令按钮组程序代码CommandGroup.clickDO CASE CASE THIS.VALUE=1 IF !BOF() SKIP -1 ELSE THIS.BUTTONS(1).Enabled=.f. & BUTTONS(1)命令组集合属性,是数组,用以引用每个包含在其中的对象 ENDIF THIS.BUTTONS(2).Enabled=.t. CASE THIS.Value=2 IF !EOF() SKIP EL

34、SE THIS.BUTTONS(2).Enabled=.f. ENDIF THIS.BUTTONS(1).Enabled=.t. CASE THIS.Value=3 THISFORM.RELEASE ENDCASE THISFORM.Refresh 对命令按钮组可作为组操作其中的按钮。 Buttons属性:用于存取命令组中各按钮的数组。属性数组下标的取值范围应该在1至ButtonCount属性值之间546.7.2 选项组(选项组(OptionGroup)l包含选项按钮的容器控件。有时也叫单选按钮。l选项按钮组允许用户从中选择一个按钮,选定某个按钮后将释放先前的选择,选项按钮旁的圆点指示当前选择

35、。 lButtonCount:设置选项按钮组中选项按钮的数目。lButtons: 用于存取选项组中每个按钮的数组。lCaption:标题属性。lControlSource:约定数据源。lValue:表示选定的是第几个按钮。具体见教材P.20555包含选项按钮的容器控件包含选项按钮的容器控件从数据源自由表examine的A 字段,B字段,C字段,D字段。向表单上添加一个选项按钮组控件。ButtonCount =4Value=0(无初始设置)controlSource设置为表 examine的字段在运行时,当用户选择标题为“A”的按钮时,字符串“A”将被保存在表的User_Ans字段中。Quest

36、ion字段56选项按钮的容器控件选项按钮的容器控件Click事件代码:事件代码:DO CASE.VALUE=1 CASE THIS.VALUE=1 IF !BOF() SKIP -1 ELSE THIS.BUTTONS(1).Enabled=.f. ENDIF THIS.BUTTONS(2).Enabled=.t. CASE THIS.Value=2 IF !EOF() SKIP ELSE THIS.BUTTONS(2).Enabled=.f. ENDIF THIS.BUTTONS(1).Enabled=.t. CASE THIS.Value=3 INRIGHT=0 N=RECNO() SCA

37、N IF ALLTRIM(USER_ANS)$ANSWER INRIGHT=INRIGHT+1 ENDIF ENDSCAN COUNT TO IN ICSCORE=ALLTRIM(STR(INRIGHT/IN*100,6,2)+% =MESSAGEBOX(正确率为+ICSCORE,64+0+0,成绩) goto top CASE THIS.Value=4 THISFORM.RELEASE ENDCASE THISFORM.Refresh 576.7.3 表格(表格(Grid)l表格(Grid)表格是一个按行和列以表格形式显示数据的容器对象。表格控件包含列(Column)、列标头(Header)

38、和列控件外,每个控件还有自己的一组属性、事件和方法。 表格常用于显示一对多关系中的子表。 如果表单的数据环境包含两表之间的一对多关系,要在表单中显示这个一对多关系,只需要把父表字段和子表拖到表单中即可。表格的RecordSource等属性自动设置。 具体见教材P.20658表格的常用属性表格的常用属性lRecordSource:指定表格的数据源。lRecordSourceType:指定表格的数据源类型。lColumnCount:设置表格的列数。(默认值为-1)lLinkMaster: 指定表格控件中所显示的子表的父表名称。lchildOrder : 为建立一对多的关联关系,子表所用到的索引。l

39、relationalEapr :确定基于父表字段的关联表达式。具体见教材P.20759列控件的属性:列控件的属性:列控件的属性:lcontrolSoource:指定要在列中显示的数据源,是表中的一个字段。lCurrentControl :设置当前控件标头(header)属性Coption:标题文本Alignment:显示的对齐方式60表格表格61表格生成器表格生成器626.7.4 页框(页框(PageFrame)l页框页框(PageFrame)是包含页面的容器对象。 对页面所在的表单使用Refresh方法时,只刷当前活动的页面。 PageCount:指定页框包含的页面数(默认为2)。 Tabs

40、:页框的该属性确定页面的“选项卡”是否可见(默认为.T.)。 TabStyle:用于指定选项卡都是相同的大小且都与页框的宽度相同。 (默认为0-两端 1-非两端)具体见教材P.21063创见选项卡式页框(创见选项卡式页框(PageFrame)页框页框(PageFrame)的name属性 为: PF1。 PageCount:3 指定页框包含的页面数 Caption :页面标题 TabStyle:由“0”改为“1 非两端”MaxButton .F.MinButton .F.64创见选项卡式页框(创见选项卡式页框(PageFrame)分别将三张js表、kc表和rk表拖放到页框控件的三个页面中提示:页

41、框必须处于编辑状态65创见选项卡式页框(创见选项卡式页框(PageFrame)提示:修改表格列标头时,页框和表格都必须处于编辑状态66创建具有多重行的选项卡式页框创建具有多重行的选项卡式页框l管理选项卡的长标题 如果选项卡的标题太长,不能在给定页框宽度和页面数的选项卡上显示出来,则可以: TabStretch属性设置为1-单行(默认) TabStretch属性设置为0-多重行:选项卡层叠起来,以便所有选项卡中的整个标题都能显示出来。 67创见非选项卡式页框创见非选项卡式页框非选项卡式页框非选项卡式页框选项卡式页框选项卡式页框标签标签 Tabs .F. 效果效果 SpecialEffect 2

42、(平面平面) 边框宽度边框宽度 BorderWidth 068在程序中换页面在程序中换页面n=this.valueif N=4 thisform.release else thisform.pf1.ActivePage=n endifl在程序中换页面:不管页框是否具有选项卡,都可以从程序中使用ActivePage属性来激活一个页面。 69计时器(计时器(Timer)l计时器(Timer)计时器是在应用程序中用来处理反复发生事件的控件。该控件在运行时不可见,用于后台处理。计时器的典型应用是检查系统时钟,决定是否到了某个应用程序运行的时间。Enabled:取值为“.T.”时,计时器在表单加载时就开

43、始工作。 Interval:指定控件的Timer事件时间间隔,单位为毫秒。不能决定事件发生多长时间以及何时终止,而是决定事件发生的频率。1秒=1000毫秒 1分钟=60000毫秒Reset方法可重置计时器控件,让它从0开始。 70计时器(计时器(Timer)为计时器控件T1的Timer事件设置如下代码:THISFORM.txt1.value=time() & time() 函数当前系统时间Enabled:取值为“.T.”71计时器(计时器(Timer)1秒=1000毫秒1分钟=60000毫秒Interval属性设置为:5000毫秒 即5秒 Enabled取值为 .T. 对于计时器控件来说,除了

44、要设置Interval等属性,还要编写Timer事件的处理代码,即在Interval属性所规定的时间间隔内,处理什么复发事件。 72计时器的计时器的Timer事件处理代码事件处理代码 IF !EOF() SKIP THISFORM.refreshELSE INRIGHT=0 N=RECNO() SCAN IF ALLTRIM(USER_ANS)$ANSWER INRIGHT=INRIGHT+1 ENDIF ENDSCAN COUNT TO IN ICSCORE=ALLTRIM(STR(INRIGHT/IN*100,6,2)+% =MESSAGEBOX(正确率为+ICSCORE,64+0+0,成

45、绩) THISFORM.releaseENDIF73OLElOLE是一种协议。根据该协议,一个OLE对象(如电子表格、WORD文档等)可以链接或嵌入表单中或表的通用字段中。 l嵌入嵌入用于将一个对象的副本从一个应用程序插入另一个应用程序。对象的副本嵌入后,不再与原来的对象有任何关联。如果原来的对象有所改变,嵌入的对象不受影响。 l链接链接表示在源文档与目标文档之间的一种连接。链接对象保存了来自源文档的信息,并对两文档之间的连接进行维护。当源文档中的信息发生变化时,这种变化将在目标文档中体现出来。 74OLE容器控件和容器控件和OLE绑定型控件绑定型控件 lOLE容器控件中的对象没有自己的事件集

46、合。lOLE容器控件与OLE绑定型控件也不同,它不与VFP表的一个通用字段相连接。lOLE绑定型控件允许用表中的通用字段显示一个OLE对象内容。l 75利用表单生成器创建表单利用表单生成器创建表单76采用何种方法向表单中添加控件最好?采用何种方法向表单中添加控件最好? 直接从“数据环境”中将表或视图的字段拖放到表单中产生新的控件。其控件的数据源等属性系统自动地给定。77采用何种方法向表单中添加控件最好?采用何种方法向表单中添加控件最好? 直接从“数据环境”中将表或视图到表单中产生新的控件。其控件的数据源等属性系统自动地给定。78采用何种方法向表单中添加控件最好?采用何种方法向表单中添加控件最好? 直接从“数据环境”中将表或视图或它们的字段拖放到表单中产生新的控件。其控件的数据源等属性系统自动地给定。 直接从“表单控件”工具栏添加控件,用户必须为控件设置有关的属性及事件处理代码79Kc-cj表单上的控件由各种生成器生成表单上的控件由各种生成器生成80命令组生成器命令组生成器8182微调框(微调框(Spinner)l微调框(Spinner)通过单击微调框

温馨提示

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

评论

0/150

提交评论