您的位置: 网站首页 > 程序开发 > Visaul FoxPro程序设计 > 第8章 表单与控件设计 > 【8.2 表单的创建】

8.2 表单的创建

 

8.2  表单的创建

Visual FoxPro中设计表单,可以用表单向导、表单设计器和表单生成器3种方法来创建表单。无论用哪种方法创建并保存的表单,将产生两个文件:一个是*.scx的表单文件,另一个是*.sct的表单备注文件。

8.2.1  用表单向导创建表单

利用表单向导,可以创建“单表表单”和“一对多表单”。在启动表单向导创建表单时,有以下三种方法:

1)单击菜单“文件”“新建”命令,或单击“常用”工具栏上的“新建”按钮 ,在弹出的“新建”对话框中选择“表单”单项按钮,然后单击“向导”图形按钮

2)在“项目管理器”窗口的“文档”选项卡中选择“表单”项,并单击“新建”按钮,然后在打开的“新建表单”窗口中单击“表单向导”按钮。

3)单击菜单“工具”“向导”“表单”命令。

1.创建单表表单

8-2  选择表单向导

 

若要使用向导的方式创建单表表单,其操作步骤如下:

1)通过上述任意一种方法启动“表单向导”,将弹出“向导选取”窗口,选择“表单向导”项,如图8-2所示

2)单击“确定”按钮,此时将弹出“步骤1-字段选取”窗口,在“数据库和表”组合框中选择“学生资料”数据库,在其下的列表框中选择“学生档案表”(xsda.dbf),则在“可用字段”列表框中显示该表的所有字段;单击“全部添加”按钮,将其添加到“选定字段”列表框中,如图8-3所示。

3)单击“下一步”按钮,将弹出“步骤2-选择表单样式”窗口,在“样式”列表框中选择所需要的样式“凹陷式”,并在“按钮类型”设置区选择“文本按钮”项,如图8-4所示。

    

8-3  选择字段                               8-4  选择表单样式

4)单击“下一步”按钮,将弹出“步骤3-排序次序”窗口,在“可用的字段或索引标识”列表框中选择“编号”项,然后单击“添加”按钮,则在“选定字段”列表框中显示了排序的次序为“编号”,并选择“升序”项,如图8-5所示。

5)单击“下一步”按钮,将弹出“步骤4-完成”窗口,在“请输入表单标题”文本框中输入表单的标题名“学生档案表单”,选择“保存并运行表单”项,如图8-6所示。

6单击“完成”按钮,将弹出“另存为”窗口,在“文件名”文本框中输入“xsda_form”,如图8-7所示。

7)单击“保存”按钮,此时将生成并运行已经建立的表单,如图8-8所示。

    

8-5  选择排序次序                            8-6  输入表单标题

       

8-7  保存表单                               8-8  运行表单

2.创建一对多表单

一对多表单, 即基于具有一对多关系的两张表而创建的表单,其中需从两个表中选择字段来显示在表单中,还需建立两个表之间的关系。其操作步骤如下:

1)通过前面所述任意一种方法启动“表单向导”,将弹出“向导选取”窗口,选择“一对多表单向导”项。

2)单击“确定”按钮,将弹出“步骤1-从父表中选定字段”窗口,在“数据库和表”组合框中选择“Library”数据库,在其下的列表框中选择“学生基本资料”,则在“可用字段”列表框中显示该表的所有字段;单击“全部添加”按钮,将其添加到“选定字段”列表框中,如图8-9所示。

3)单击“下一步”按钮,将弹出“步骤2-从子表中选定字段”窗口,在“数据库和表”的下拉列表框中选择“借阅记录”,则在“可用字段”列表框中显示该表的所有字段;单击“全部添加”按钮,将其添加到“选定字段”列表框中,如图8-10所示。

4)单击“下一步”按钮,将弹出“步骤3-建立表之间的关系”窗口,系统将其默认的关系建立连接,如图8-11所示。

5)同样,按照单个表单的创建方法依次完成后面的步骤,其最终完成的效果如图8-12所示。

       

8-9  选择父表字段                             8-10  选择子表字段

    

8-11  建立表之间的关系                        8-12  运行的一对多表单

注意:表单运行时,将在表单的上部每次显示父表的一条记录,在下部以表格的形式显示与主表相关的记录,底部的定位按钮仅对父表起作用。

8.2.2  用表单设计器创建表单

使用向导建立表单的过程非常简单,但是向导建立的表单功能有限,难以满足实际应用的需要,因此一般还是利用“表单设计器”来建立表单。

用户可以通过以下几种方法进入“表单设计器”:

1)单击菜单“文件”“新建”命令,在弹出的“新建”对话框中选择“表单”单选按钮,然后单击“新建”图形按钮。

2)在命令窗口中输入“CREATE  FORM”。

3)在命令窗口中输入“MODIFY  FORM  <表单名>”即可进入“表单设计器”修改所指定的表单。

4)在“项目管理器”的“文档”选项卡下选择表单对象,然后单击“新建”按钮,在弹出的“新建表单”窗口中选择“新建表单”按钮。

进入“表单设计器”后,其界面如图8-1所示。

1.表单的数据环境

数据环境泛指创建表单或表单集时所使用的数据源。它也是一个对象,包括与表单或表单集相关的数据表、视图以及表之间的关系。

注意:在表单运行时,数据环境中的表或视图也将自动打开,并随该表单的释放而自动关闭。

1)打开数据环境设计器。

在打开的“表单设计器”窗口中,通过“数据环境设计器”窗口来为表单设置数据环境。要打开如图8-13所示的“数据环境设计器”窗口,可以通过以下任意一种方法:

打开“表单设计器”窗口后,单击菜单“显示”“数据环境”命令。

在“表单设计器”窗口的空白处单击鼠标右键,从弹出的快捷菜单中选择“数据环境”命令。

单击“表单设计器”工具栏上的“数据环境”按钮

8-13  “数据环境设计器”窗口

2)向数据环境中添加表或视图。

当打开“数据环境设计器”窗口后,在主菜单栏上将增加“数据环境”菜单项。若需要添加表或视图时,单击菜单“数据环境”“添加”命令,在随后出现的“添加表或视图”对话框中选择一张表或视图,然后单击“添加”按钮即可。

同样,可以从当前的“数据环境设计器”窗口中移去表或视图。

3)在数据环境中设置关系。

如果添加到“数据环境”中的表在数据库中具有永久关系,则这些关系自动添加到数据环境中。否则,则可将主表中的字段拖动到子表中相匹配的字段或索引标识上来创建这些关系。若要解除数据环境中数据表之间的关系,可单击表示关系的连接线,然后按Del键将其删除。

注意:如果子表中没有与其相匹配的索引标记,也可以将主表字段拖动到子表中欲与其关联的某个字段上,然后根据系统的提示确认创建所需要的索引。

2.控件

表单设计的一个主要工作就是向表单上添加各种控件。Visual FoxPro的“表单控件”工具栏提供了表单设计所需要的各种控件,如图8-14所示。单击某控件按钮后,在表单的适当位置上拖动,即可创建一个相应的新控件。

8-14  “表单控件”工具栏

如果打开“表单设计器”窗口后没有显示出“表单控件”工具栏,可以单击菜单“显示”→“表单控件工具栏”命令。

注意:将鼠标移到“表单控件”工具栏的指定按钮处,将显示该按钮的文字说明。

8-1所列为“表单控件”工具栏的常用控件说明。

8-1  常用控件说明

按钮

 

功能描述

选定对象

移动和改变控件的大小

查看类

选择一个已注册的类库。选择后,工具栏显示选定类库中类的按钮

标签

保存不希望用户改动的文本

文本框

保存单行文本,可以输入或更改其中的文本

编辑框

保存多行文本,可以输入或更改其中的文本

命令按钮

用于执行命令

命令按钮组

多个相关命令按钮组成

选项组

显示多个选项,只能从中选择一项

复选框

开关状态控件,允许从中选择多项

组合框

用于建立一个下拉式组合框或下拉式列表框

列表框

显示供选择的列表项,可自动生成滚动条

微调控件

用于接受给定范围的数值输入

表格

用于在电子表格样式的表格中显示数据

图像

在表单上显示图像

计时器

用于定时操作,该控件运行时不可见

页框

显示多个页面,用于显示或输入项目较多的表单

ActiveX控件

向应用程序中添加OLE对象

ActiveX绑定控件

ActiveX控件不同之处是ActiveX绑定控件在一个通用字段上

线条

用于在表单上画各种类型的线条

形状

用于在表单上画各种类型的形状

容器

将容器控件置于当前的表单上

分隔符

在工具栏的控件之间加上空格

超级链接

建立超链接对象,可以链接到一个指定对象上

生成器锁定

为任何添加到表单上的控件打开一个生成器

按钮锁定

用它可添加同种类型的多个控件,而不需多次按此控件的按钮

3“属性”窗口

在“属性”窗口中显示出所选定对象的属性、事件、方法等。如果选择了多个对象,这些对象共有的属性将显示在“属性”窗口中。要编辑另一个对象的属性或事件,可在“属性”窗口的“对象”组合框中选择,或者直接从表单中选择对象。

打开“表单设计器”窗口后,其“属性”窗口即可打开,如图8-15所示,它是由标题栏、对象组合框、选项卡、属性设置框和属性列表及属性说明等几部分组成。

8-15  “属性”窗口

若“属性”窗口没有打开,可单击菜单“显示”“属性”命令将其显示出来。

1)对象组合框。用来标识表单中当前选定的对象。图中还有一个向下的箭头,单击组合框的向下箭头可以看到一个包含当前表单、表单集和全部控件的对象列表。如果打开了“数据环境设计器”,这里还包含数据环境和数据环境的全部临时表及关系。

2)选项卡。是按照分类的形式来显示属性、事件和方法程序,共有以下5种方式。

·    全部:用来显示所选对象的所有属性、事件和方法程序。

·    数据:用来显示有关对象如何显示或怎样操纵数据的属性。

·    方法程序:用来显示有关对象的方法程序和事件。

·    布局:用来显示所有的布局属性。

·    其他:用来显示其他自定义的属性。

3)属性设置框。用来更改属性列表中选定的属性值。如果选定的属性值是预定义的设置值,则在右边出现一个向下的箭头,单击此箭头就可以从下拉列表中选取所需的属性值;如果属性设置需要指定一个文件名或一种颜色,则会在右边出现三点按钮,单击此按钮可以打开一个对话框。在属性设置框的左边还有如下3个按钮。

·“取消”按钮如果单击该按钮则会取消更改,恢复属性以前的值。

·“确定”按钮单击此按钮确认对某属性的更改。

·“函数”按钮单击此按钮,则可以打开表达式生成器,在此表达式生成器中可以为属性设置由函数或表达式返回的值。

4)属性列表。是一个包含两列的列表,它显示了所有可在设计时更改的属性和它们的当前值,对于具有预定值的属性,在属性列表中双击属性名可以遍历所有的可选项。

在属性列表中,对于那些被设置为表达式的属性,在它们的前面有等号标记,而在属性框中以斜体显示的属性值表示该项为只读。

5)属性说明。当在属性列表中选择相应的属性时,在说明框中会给出该属性的注释说明。

4.代码

即为对象编写事件过程或方法,该工作在“代码”窗口中进行。“代码”窗口可以通过双击控件或表单打开,然后在窗口中选定对象和事件或方法之后在代码窗口中输入相应的代码。

打开“代码”窗口,如图8-16所示,可以通过以下4种方法打开“代码”窗口:

1)在表单中右击需要编写代码的对象,然后在快捷菜单中选择“代码”。

2)单击“表单设计器”工具栏中的“代码”按钮

3)双击需要编写代码的对象。

4)在“属性”窗口中双击相应的事件等,打开图8-16所示的代码窗口。

8-16  代码窗口

8.2.3  用表单生成器创建表单

利用表单生成器可以创建一个不包含命令按钮的简单表单。在打开“表单设计器”窗口后,单击菜单“表单”“快速表单”命令,或单击“表单设计器”工具栏上的“表单生成器”按钮,或选择快捷菜单中的“表单生成器”命令,都将打开“表单生成器”窗口,如图8-17所示。

8-17  “表单生成器”窗口

在“字段选取”选项卡中添加指定数据表中的相关字段,并在“样式”选项卡中选择表单的样式,然后单击“确定”按钮即可生成一个快速表单,如图8-18所示。

8-18  生成的快速表单