江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
6.1表单与控件
面向对象的概念

考点1 对象与类

  1对象( Object)
  客观世界里的任何实体都可以被视为对象。对象可以是具体事物,也可以指某些概念二
  (1)属性:用来表示对象的状态。
  (2)方法:用来描述对象的行为。
  2类( Class)
  类是对一类相似对象性质的描述。同类对象具有相同的性质:相同的属性及方法。

考点2 子类与继承

  1继承
   继承表达了一种从一般到特殊的进化过程。在面向对象的方法里,继承是指基于现有类的方法和属性。
      2类
      我们把新类称为现有类的子类,而把现有类称为新类的父类。一个子类的成员一般包括以下两个方面。
  (l)从其父类继承的成员,包括属性、方法。
  (2)由子类自己定义的成员,包括属性、方法。

8.2  Visual FoxPro基类简介

考点3  Visual FoxPro基类

   Visual FoxPro中所有基类共有的属性如表8-1所示。
表8-1  Visual FoxPro基类的最小属性集


 
  (l)在编程方式里,对象的生成通常使用CREATE OBJECT函数来完成,格式为:
   CREATE OBJECT(<类名>[,<参数1>,<参数2>,…])
  说明:函数基于指定的类生成一个对象,并返回对象的引用。
  (2)对象属性访问及对象方法调用的基本格式为:
        <对象引用>.<对象属性>
        <对象引用>.<对象方法>[(…)]

考点4 容器与控件

  Visual FoxPro中的类一般可分为两种类型:容器类和控件类。相应地,可分别生成容器(对象)和控件(对象)。
  (l)控件:是一个可以以图形化的方式显示出来并能与用户进行交互式的对象。
  (2)容器:可看成是一个特殊的控件,它能包容其他的控件或容器。
  (3)层次:容器内的包容关系形成r对象的嵌套层次关系。对象的层次概念与类的  层次概念是两个完全不同的概念对象的层次关系指的是包容与被包容的关系,而类的层次指的是继承与被继承的关系。
  在对象的嵌套层次关系中,要引用其中的某个对象,需要指明对象在嵌套层次中的位置。对象引用的几个属性或关键字如表8-2所示。
         表8-2 对象引用的几个属性或关键字


 

考点5 事件

  事件是一种由系统预先定义而由用户或系统发出的动作。它作用于对象,对象识别事件并做出相应的反应。与方法集可以无限扩展不同的是,事件集是固定的。用户不能定义新的事件。表8-3列出了VisualFoxPro基类的最小事件集,不管哪个基类都包含这些事件。
表8-3  Visual FoxPro基类的最小事件集


 

8.3 创建与管理表单
考点6 创建、修改及运行表单

  1使用表单向导创建表单
  调用表单向导的方法有多种,这里只做简单介绍。
  (l)在“项目管理器”窗口中,选择“文档”选项卡,选择其中的“表单”图标。
  (2)单击“新建”按钮,系统弹出“新建表单”对话框。
  (3)单击“表单向导”图标按钮,打开“向导选取”对话框。
  (4)从列表框中选择要使用的向导,然后单击“确定”按钮。
  2使用表单设计器创建表单
  可以使用以下3种方法中的任何一种调用表单设计器。
  (1)在项目管理器环境下调用。
  (2)菜单方式调用。
  (3)命令方式调用。
  3修改已有的表单
  一个表单无论是通过任何途径创建的,都可以使用表单设计器进行编辑修改。我们可以通过项目或使用命令“MODIFY FORM<表单名>”来打开表单设计器。
  4运行表单
  可以采用下列方法运行通过表单设计器创建的表单文件。
  (1)在项目管理器窗口中,选择要运行的表单,然后单击窗口里的“运行”按钮。
  (2)在表单设计器环境下,选择“表单”菜单中的“执行表单”命令,或单击标准工具栏上的“运行”按钮。
  (3)选择“程序”菜单中的“运行”命令,打开“运行”对话框,然后在对话框中指定要运行的表单文件并单击“运行”按钮。
  (4)在命令窗口中输入命令,格式为:
        DO FORM<表单文件名>[NAME<变量名>]
        WITH<实参>[,<实参>,…][LINKED][NOSHOW]

考点7 管理表单属性和方法

  可以向表单添加任意数量的新属性和新方法,并像引用表单的其他属性和方法一样引用它们。Visual FoxPro中表单的属性大约有100个,但绝大多数很少用到。表8-4列出了常用的一些表单属性,这些属性规定了表单的外观和行为。
表8-4 表单的常用属性


 
 
  1创建新属性
  向表单添加新属性的方法如F。
  (l)选择“表单”菜单中的“新建属性”命令,打开“新建属性”对话框,如图8-1所示。
  (2)在“名称”文本框中输入新属性的名称。
  (3)有选择地在“说明”列表框中输入新建属性的说明信息。
 
图8-1 “新建属性”对话框


  2创建新方法
  向表单添加新方法的步骤如下
  (l)运行“表单”→“新建方法程序”命令,打开“新建方法程序”对话框,如图8-2所示。
  (2)在“名称”文本框中输入新方法名。
  (3)有选择地在“说明”列表框中输入新建方法的说明信息。
 
图8-2 “新建方法程序”对话框


  3编辑方法或事件代码
  在表单设计器中,编辑方法或事件代码的步骤如下。
  (1)选择“显示”菜单中的“代码”命令,打开代码编辑窗口,如图8-3所示。
  (2)从“对象”框中选择方法或事件所属的对象。
  (3)从“过程”框中指定需要编辑的方法或事件。
  (4)在编辑区输入或修改方法或事件的代码。
 
图8-3 代码编辑窗口

考点8 常用事件与方法

  下面将以表的形式简单介绍一下表单及控件常用的一些事件和方法,如表8-5所示。
表8-5 常用的一些属性和方法
 

8.4 表单设计器

考点9 表单设计器环境

  表单设计器启动后,在Visual FoxPro的主窗口中出现“表单设计器”窗口、“属性”窗口、“表单控件”工具栏、“表单设计器”工具栏及“表单”菜单。
  1“表单设计器”窗口
  用户可视化地添加和修改控件的窗口。
  2“属性”窗口
  如图8-4所示,在“属性”窗口中包括对象框、属性设置框、方法和事件列表。用户可在此窗口中选择表取中的控件,并为表单设计属性、方法及事件。
  对于表单及控件的绝大多数属性,其数据类型是固定的。一般来说,要为属性设置一个字符型数值,可以在设置框中直接输入,不需要加定界符。
  “属性”窗口可以通过单击“表单设计器”工具栏中的“属性窗口”按钮或选择“显示”菜单中的“属性环境”命令打开或关闭。
 
   图8-4 “属性”窗口

  3“表单控件”工具栏
  如图8-5所示,利用“表单控件”工具栏可以方便地向表单添加控件。
 
  图8-5 “表单控件”工具栏

   除了控件按钮外,“表单控件”工具栏还包含“选定对象”、“按钮锁定”、“生成器锁定”和“查看类”4个辅助按钮。
  4“表单设计器”工具栏
  “表单设计器”工具栏如图8-6所示,它可以通过“显示”菜单中的“工具栏”命令打开或关闭。
 
图8-6 “表单设计器”工具栏


  5“表单”菜单
  “表单”菜单中的命令主要用于创建、编辑表单或表单集,如为表单增加新的属性和方法等。
考点10 控件的操作与布局

  1控件的基本操作
  在表单设计器下,对表单上的控件可进行移动、改变大小、复制、删除等操作。
  (l)选定控件。
  (2)移动控件
  (3)调整控件大小。
  (4)复制控件。
  (5)删除控件。
  2控件布局
  利用“布局”工具栏中的按钮,可以方便地调整表单窗口中被选控件的相对大小或位置。“布局”工具栏丁以通过单击“表单设计器”工具栏上的“布局工具栏”按钮或选择“显示”菜单中的“布局工具栏”命令打开或关闭。
  3设置Tab键次序
  当表单运行时,用户可以按Tab键选择表单中的控件,使焦点在控件间移动。控件的Tab键次序决定了选择控件的次序。Visual FoxPro提供了两种方式来设置Tab键次序:交互方式和列表方式。

考点11 数据环境

  1数据环境的常用属性
  常用的两个数据环境是AutoOpenTables和AutoCloseTables,其功能如下。
  (1) AutoOpenTables ;表示当运行或打开表单时,是否打开数据环境中的表和视图,默认值为逻辑真.T.)。
  (2)AutoCloseTables:表示当释放或关闭表单时,是否关闭由数据环境指定的表和视图,默认值为逻辑真(.T.)。
  2打开数据环境设计器
  可通过单击“表单设计器”工具栏中的“数据环境”按钮,也可以选择“显示”菜单中的“数据环境”命令打开或关闭“数据环境设计器”窗口。
  3向数据环境中添加表或视图
  (1)选择“数据环境”菜单中的“添加”命令,或用鼠标右键单击“数据环境设计器”窗口,然后在弹出的快捷菜单中选择“添加”命令,打开“添加表或视图”对话框。
  (2)选择要添加的表或视图并单击“添加”按钮。如果单击“其他”按钮,将调出“打开”对话框,用户可以从中选择需要的表。
  4从数据环境中移去表或视图
  在数据环境设计器环境下,按下列方法从数据环境移去表或视图。
  (1)在“数据环境设计器”窗口中,单击选择要移去的表或视图。
  (2)选择“数据环境”菜单中的“移去”命令。
  也可以用鼠标右键单击要移去的表或视图,然后在弹出的快捷菜单中选择“移去”命令。
  当表从数据环境中移去时,与这个表有关的所有关系也将随之消失。
  5在数据环境中设置关系
  如果添加到数据环境的表之间具有在数据库中设置的永久关系,这些关系也会自动添加到数据环境中。如果表之间没有永久关系,可以根据需要在数据环境设计器下为这些表设置关系。
  6在数据环境中编辑关系
  关系是数据环境中的对象,它有自己的属性、方法和事件。常用的关系属性如表8-6所示。
 
       表8-6 常用的关系属性


  7向表单添加字段
  我们可以利用“表单控件”工具栏方便地将一个标准控件放置到表单上,也可以从“数据环境设计器”窗口、“项目管理器”窗口或“数据库设计器”窗口中直接将字段、表或视图拖入表单,系统将产生相应的控件并与字段相联系。

8.5 常用表单控件

考点12 标签(Label)控件

  标签的常用属性如下
  (1) Caption属性:指定标签的标题文本很多类控件都具有Caption属性。用户可以利用该属性为所创建的对象指定标题文本。
  (2) Alignment属性:指定标题文本在控件中的显示对齐方式。该属性包括三个属性值――0、1和2,分别代表左对齐、右对齐和中央对齐。

考点13 命令按钮(CommandButton)控件

  命令按钮的常用属性如下。
  (1)Default属性:该属性默认值为.F.。当属性为.T.时,可称为“确定”按钮,一个表单中只能包含一个“确定”按钮;在Windows中,当焦点不在命令按钮上时,按Enter键,系统将自动执行该命令按钮的Click事件代码、
  (2)Cancel属性:该属性默认值为.F.。当属性为.T.时,可称为“取消”按钮,在表单中,可通过Esc键执行该命令按钮中的Click事件代码一个表单中可有多个命令按钮的Cancel属性值为.T.。
  (3) Enabled属性:指定表单或控件能否响应用户引发的事件。默认的属性值为.T.,即对象是有效的,当Enabled=.F.时,只是用来显示只读的信息。
  (4)Visible属性:指定对象是可见还是隐藏。默认的属性值为.T.,即对象是可见的。

考点14 命令组(CommandGroup)控件

  命令组是包含一组命令按钮的容器控件,其常用属性如下。
  (1)ButtonCount属性:指定命令组中命令按钮的个数,默认的属性值为2。
  (2 ) Buttons属性:用于存取命令组中各按钮的数组。用户可以利用该数组为命令组中的命令按钮设置属性或调用其方法,属性数组下标的取值范围应该在1到ButtonCount属性值之间。
  (3) Value属性:指定命令组当前的状态。该属性的类型可以是数值型,也可以是字符型。

考点15 文本框(TextBox)控件

  文本框的常用属性如下。
  (1 ) ControlSource属性:可利用该属性为文本框指定一个字段或内存变量,运行时,文本框中首先显示该变量的内容
  (2)Value属性:返回文本框的当前内容。该属性的默认值是空串。
  (3) PasswordChar属性:指定文本框控件内是显示用户输入的字符还是显示占位符。该属性的默认值是空串,此时没有占位符。当为属性指定一个占位符(例如*)后,文本框中只显示占位符。
  (4)InputMask属性:指定在一个文本框中如何输入和显示数据。各种模式符的功能如表8-7所示。
表8-7 模式符及其功能
 

考点16 编辑框的常用属性如下。
  (1)AllowTabs属性:指定编辑框中能否使用Tab键。该属性的默认值为.F.,当按Tab键时,焦点移出编辑框。
  (2)HideSelection属性:指定当编辑框失去焦点时,编辑框中选定的文本是否仍显示为选定状态。该属性的默认值为.T.,即当编辑框失去焦点时,编辑框中选定的文本不显示为选定状态
  (3) ReadOnly属性:指定用户能否编辑编辑框中的内容。如果该属性的默认值为.F.,则叮以编辑编辑框中的内容;当属性值为.T.时,编辑框中的内容为只读。
  (4) ScrollBars属性:指定编辑框是否具有滚动条。该属性包括“0-无” 和“2-垂直”两个属性值。
  (5)SelStart属性:返回用户在编辑框中所选文本的起始位置或插入点位置。属性的有效取值范围在0与编辑区中的字符总数之间。
  (6)SelLength属性:返回用户在控件的文本输入区中所选定字符的数目,或指定要选定的字符数目。
  (7)SelText属性:返回用户编辑区内选定的文本。如果没有选定文本,将返回空串。

考点17 复选框(CheckBox)控件

复选框的常用属性如下。
  (1) Caption属性:用来指定显示在复选框旁边的文字。
  (2)Value属性:用来指明复选框的当前状态,共有3种情况:0或.F.表示未被选中;1或.T.表示被选扣;2或.NULL.表示不确定,只在代码中有效。
  (3) ControlSource属性:指明与复选框建立联系的数据源。作为数据源的字段变量或内存变量,其类型可以是逻辑型或数值型。

考点18 选项组(OptionGroup)控件

  选项组是包含若干个选项按钮的一种容器控件,其常用属性如下。
  (1) ButtonCount属性:指定选项组中选项按钮的数目,其默认值为2,
  (2) Value属性:用于指定选项组中哪个选项按钮被选中。该属性值的类型可为数值k1J或字符型。
  (3 ) ControlSource属性:指明与选项组建立联系的数据源。作为数据源的字段变量或内存变量,其类型可以是字符型或数值型
  (4) Buttons属性:用于存取选项组中每个按钮的数组,其含义与命令组的Buttons类似。

考点19 列表框(ListBox )控件

    列表框的常用属性如下
  (1)RowSourceType属性与RowSource属性:RowSourceType属性指明列表框中的条目数据源的类型,RowSource属性指定列表框的条目数据源。RowSourceType属性共有10种取值范围:0-无(默认值)、1-值,2-别名、3-SQL语句,4-查询(. qpr),5-数组,6-字段,7-文件,8-结构,9-弹出式菜单。
  (2)List属性:用以存取列表框中数据条目的字符串数组。
  (3)ListCount属性:指明列表框中数据条目的数目。
  (4)ColumnCount属性:指定列表框的列数。
  (5)Value属性:列表框中被选中的条目。该属性可以是数值型,也可以是字符型。
  (6)ControlSource属性:该属性在列表框中的用法和在其他控件中的用法有所不同。用户可以通过该属性指定一个字段或变量用以保存用户从列表框中选择的结果。
  (7)Selected属性:指定列表框内的某个条目是否处于选定状态〕
  (8) MultiSelect属性:指定用户在列表框控件内进行多重选定。其中,0或.F.表示不允许多重选定,为系统默认值;1或.T.表示允许多重选定。

考点20 组合框(ComboBox)控件

  组合框与列表框类似,也是用于提供一组条目供用户从中选择,组合框的特点如下。
  (1)对于组合框来说,通常只有一个条目是可见的。
  (2)组合框不提供多重选定的功能。
  (3)组合框可通过Style属性设置其形式,共有两种:0表示下拉组合框,2表示下拉列表框。

考点21 表格(Gride)控件

  表格是一种容器对象。一个表格对象由若十列对象组成,每个列对象包含一个标头对象和若干控件,它们都有自己的属性、事件和方法。
1表格的常用属性
  (l)RecordSourceType属性与RecordSource属性:RecordSourceType属性指明表格数据源类型,RecordSource属性指定表格数据源。其中数据类型共有5种取值范围:0-表、1-别名(默认值)、2-提示、3-查询(.qpr)、4-SQL语句。
  (2)ColumnCount属性:指定表格的列数,即一个表格对象所包含的列对象数目。
  (3) LinkMaster属性:用于指定表格控件中所显示的子表的父表名称。
  (4)ChildOrder属性:用于指定建立一对多的关联关系,子表所要用到的索引。该属性类似于SET ORDER命令。
  (5)RelationalExpr属性:确定基于主表字段的关联表达式。
  2常用的列属性
  (1) ControlSource属性:指定要在列中显示的数据源,常见的是表中的一个字段。
  (2) CurrentControl属性:指定列对象中的一个控件,该控件用以显示和接收列中活动单元格的数据。
  (3 ) Sparse属性:用于确定CurrentControl属性是影响列中的所有单元格还是影响活动单元格。
  3常用的标头(Header)属性
  (1 ) Caption属性:指定标头对象的标题文本,显示于列顶部。
  (2) Alignment属性:指定标题文本在对象中显示的对齐方式。

考点22 页框(PageFrame)控件

  页框是包含页面(Page)的容器对象,其常用属性如下。
  (1) PageCount属性:用于指明一个页框对象所包含的页对象的数量。最小值为0,最大值为99。
  (2) Pages属性:该属性是一个数组,用于存取页框中的某个页对象。
  (3 ) Tabs属性:指定页框中是否显示页面标签栏。
  (4) TabStretch属性:如果页面标题文本太长,可通过设置该属性利用多行显示。其中0表示多重行,1表示单行(默认值)。
  (5)ActivePage属性:返回页框中活动页的页号,或使页框中的指定页成为活动的。