第9章 表单 未校对_第1页
第9章 表单 未校对_第2页
第9章 表单 未校对_第3页
第9章 表单 未校对_第4页
第9章 表单 未校对_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

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

文档简介

155

第9章表单

表单(Form)也称为屏幕(Screen)或窗口(Window)。它包含的各种控件、由表单所

创建的对象,为数据库信息的显示、输入和编辑提供了简单方便的方法。表单的设计足可视

化编程的基础。本章将介绍在VinualFoxPro6.0环境下创建、修改、修饰、运行表单,以及

如何向表单添加控件,如何设计表单模块等内容。缺省的表单文件的扩展名为.sex。

9.1创建表单

在VisualFoxPro6.0中,创建表单的方法有三种。使用表单向导、使用表单设计器、使

用“新建”工具。三种方法各有千秋。第1种方法通过回答系统提出的各种问题,引导初学

者,,一步一个脚印,到达胜利的彼岸”:第2种方法不但可以创建新表单,还可以修改已有

的老表单:第3种方法则呵以快速创建一个较简单的表单。

9.1.1利用表单向导创建表单

用表单向导既可以创建单表表单,又可以创建一对多数据表表单。

【例9.1]根据数据表ksqkb.dbt用表单向导创建一个单表表单“表单1”。

操作步骤如下:

⑴单击VisualFoxPro6,0主窗口工具栏的“新建”按钮,进入“新建”对话框。

(2)在“新建”对话框,选择“表单”选项,再单击“向导”按钮.进入“向导选取”

对话框,如图9-1所示。

(3)选取“表单向导”,单击“确定”按钮,进入“表单向导”窗口的“步骤1.字段选

取”对话框。

(4)在“步骤1一字段选取”对话框的“数据库和表”栏,选取数据表ksqkb.dbf,将“可

用字段,,栏中的各个字段全部转入“选定字段”栏中,结果如图9-2所示。

圈9-1向导选取

圈90表单向导步骤1.字段选取

(5)单击“下一步”按钮,进入“表单向导。的“步骤2.选择表单式样”对话框。该

对话框的“样式”栏给出了“标准”等9种按钮样式供用户选择,“按钮类型”列表给出了

“文本按钮”等4类按钮类型供用户选择。此处将“按钮类型”选择为“文本按钮”,将“样

156

式”选择为“浮雕式”,如图9-3所示。

(6)单击“下一步”按钮,进入“表单向导”的“步骤3-排序次序”对话框。在该对

话框的“可用的字段或索引标识”栏中选择字段“考号”,将它添加到“选定字段”栏中,

图9-4所示。

圈9-3表单向导步骤2,选择丧单样式图g-4表单向导步骤3.排序次序

(7)单击“下一步”按钮,以考号的升序建立表索引,井进入了“表单向导”的“步骤

4完成”对话框。在该窗口的“请输入表单标题”栏输入标题“高考考生情况统计表”。为

了保存并观察表单的运行结果,选择“保存井运行表单”,如图9-5所示。

(8)单击“完成”按钮,弹出“另存为”窗口,在“保存表单为”栏中输入“表单1”,

单击“保存”按钮,则表单创建成功并运行,结果如图9-6所示。

图9-5表单向导步骤4J完成

H9-6“表单I”运行结果

【例9.2]用表单向导创建一个一对多数据表的表单“表单2”。

操作步骤如下:

⑴同例9,1中的步骤⑴和(2)-样,进入图9-1所示的“向导选取”对话框。

⑵选取“一对多表单向导”,单击“确定”按钮,进入“一对多表单向导”的“步骤

1--从父表中选定字段”对话框。通过“数据库和表”栏右侧的选择按钮或“…”按钮.打

开数据库gksjk.dbc(该库事先已经以字段“考号”建立了各表之间的关联,其中zhqkb.dbf

为父库),选择zhqkb.dbf作为父表,井将“可用字段”中列出的该表的有关字段转入“选定

157

段”栏中,如图9-7所示;

(3)单击“下一步”按钮,进入“一一对多表单向导”的“步骤2-从于表中选定字段”

对话框。在该对话框中选择数据表Iqyxb.dbf为予表,并将有关字段转入“选定字段”列表

框,

如图9-8所示。

图9-7步骤1'从父表中选定字段图9.8步骤2.从子表中选定字段

(4)单击“F〜步”按钮,进入“一对多表单向导”的“步骤3—建立表之间的关系”

对话框。选择父、子两表中的关联字段“考号”,如图9-9所示。

(5)单击“下一步”按钮,进入“一对多表单向导”的“步骤

框。此处在“按钮类型”栏选择“图片按钮”,在“样式”栏选择“新

4一选择表单样式”对话

奇式",如图9-J0所示。

国9-9步骤3_建立襄之间的关系图9-10步瞿#4遗{苹表单样式

(6)单击-F-步”按钮,进入“一对多表单向导”的“步骤5.排序次序”对话框。

由于父、子两表事先己经按字段“考号”建立了关联,因此可直接单击“下一步”按钮进入

“一对多袁单向导”的却步骤6-完成”对话框。

(7)在“一对多表单向导”的“步骤6-完成”对话框,在“请输入表单标题”栏输入

标题“高考考生录取情况统计表”。选择“保存表单以各将来使用",如图9-11所示。

(8)单击“预览”按钮,观察表单形式,如图9-12所示。

(9)单击“返回向导”,返回“步骤6一完成”。再单击“完成”按钮,弹出“另存为”

对话框,在“保存表单为”栏中输入“表单2”,单击“保存”按钮,则一对多数据表表单

建成功。

若要运行该表单,可在命令窗口输入:

DOFORM表单2.scx

此时首先进入了第1条记录,同时表单底部提供的各种命令按钮可以使用,以便用户操

158

用“新建”工且。三种方法各有千秋。第1种方法通过回答系统提出的各

种问题,引导初学

者“一步一个脚印,到达胜利的彼岸”:第2种方法不但町以创建新表单,

还可以修改已有的

老表单:第3种方法则呵以快速创建…个较简单的表单。

9.1.1利用表单向导创建表单

用表单向导既可以创建单表表单,又可以创建一对多数据表表单。

【例9.1]根据数据表1<^1<1).如£用表单向导创建一个单表表单"表

单1”。

操作步骤如下:

(1)单击VisualFoxPro6,0主窗口工具栏的“新建”按钮,进入“新建”

对话框。

(2)在“新建”对话框,选择“表单”选项,再单击“向导”按钮.进

159

入“向导选取”对话框,如图9-1所示。

(3)选取“表单向导”,单击“确定”按钮,进入“表单向导”窗口的

“步骤1.字段选

取”对话框。

(4)在“步骤1一字段选取”对话框的“数据库和表”栏,选取数据表

ksqkb.dbf,将“可

用字段”栏中的各个字段全部转入“选定字段”栏中,结果如图9-2所示。

圈9-1向导选取

圈90表单向导步骤1.字段选取

第9章袁单

145

(5)单击“下一步”按钮,进入“表单向导。的“步骤2.选择表单式

160

样”对话框。该

对话框的“样式”栏给出了“标准”等9种按钮样式供用户选择,“按钮

类型”列表给出了“文

本按钮”等4类按钮类型供用户选择。此处将“按钮类型”选择为“文本

按钮”,将“样式”

选择为“浮雕式”,如斟9-3所示。

(6)单击“下一步”按钮,进入“表单向导”的“步骤3-排序次序”对

话框。在该对

话框的“可用的字段或索引标识”栏中选择字段“考号”,将它添加到“选

定字段”栏中,如

图9-4所示。

圈9-3表单向导步骤2,选择丧单样式图g-4表单向导步骤3.排序次

161

(7)单击“下一步”按钮,以考号的升序建立表索引,井进入了“表单

向导”的“步骤

4一完成”对话框。在该窗口的“请输入表单标题”栏输入标题“高考考

生情况统计表”。为了

保存并观察表单的运行结果,选择“保存井运行表单”,如图9-5所示。

(8)单击“完成”按钮,弹出“另存为”窗口,在“保存表单为"栏中

输入“表单1”,

单击“保存”按钮,则表单创建成功井运行,结果如国9-6所示。

图9-5表单向导步骤4J完成

周9-6“表单I”运行结果

【例9.2]用表单向导创建一个一对多数据衰的表单“表单2”。

操作步骤如下:

162

(D同例9,1中的步骤⑴和(2)-样,进入圈9-1所示的“向导选取”对

话框。

(2)选取“一对多表单向导”,单击“确定”按钮,进入“〜对多表单

向导”的“步骤

1一从父表中选定字段”对话框。通过“数据库和表”栏右侧的选择按钮

或“…”按钮.打开

数据库gksjkdbc(该库事先已经以字段“考号”建立了各表之间的关联,

其中zhqkb.dbf为

父库),选择zhqkb.dbf作为父表,井将“可用字段”中列出的该表的有关

字段转入“选定字

146啊sUalFoxPro6.0程序设计教程

_ULL1,

163

段”栏中,如图9-7所示;

(3)单击“下一步”按钮,进入“一一对多表单向导”的“步骤2-从于

表中选定字段”

对话框。在该对话框中选择数据表Iqyxb.dbf为予表,并将有关字段转入

“选定字段”列表框,

如图9-8所示。

图9-7步骤1'从父表中选定字段图9.8步骤2.从子表中选定字

(4)单击“F〜步”按钮,进入“一对多表单向导”的“步骤3—建立

表之间的关系”

对话框。选择父、子两表中的关联字段“考号”,如图9-9所示。

(5)单击“下一步”按钮,进入“一对多表单向导”的“步骤

框。此处在“按钮类型”栏选择“图片按钮”,在“样式”栏选择“新

164

4一选择表单样式”对话

奇式",如图9-J0所示。

国9-9步骤3_建立襄之间的关系图9-10步慨4遗{苹表单样式

(6)单击-F-步”按钮,进入“一对多表单向导”的“步骤5.排序次序”

对话框。

由于父、子两表事先已经按字段“考号”建立了关联,因此可直接单击“下

一步”按钮进入

“一对多袁单向导”的却步骤6-完成”对话框。

(7)在“一对多表单向导”的“步骤6-完成”对话框,在“请输入表单

标题”栏输入

标题“高考考生录取情况统计表”。选择“保存表单以各将来使用”,如图

9-11所示。

(8)单击“预览”按钮,观察表单形式,如图9-12所示。

165

(9)单击“返回向导”,返回“步骤6—完成:再单击“完成”按钮,

弹出“另存为”

对话框,在“保存表单为”栏中输入“表单2”,单击“保存”按钮,则一

对多数据表表单创

建成功。

若要运行该表单,可在命令窗口输入:

DOFORM表单2,scx

此时首先进入了第1条记录,同时表单底部提供的各种命令按钮可以

使用,以便用户操

作表单。

型9-11步骤6.完战

图9-12表单2效果预览

166

9.1.2利用表单设计器创建表单

表单设计器具有强大的表单设计功能。它不但可以设计新表单,还可

以修改旧表单,对

表单进行各种修饰。它提供的快速表单命令,使得创建表单的工作变得更

快捷。

在命令方式下,使用表单设计器创建表单的命令是:

CREATEFORM<fdrmname>

例如,要用表单设计器创建一个名为“表单3.scx”的表单,则在命

令窗口输入:

CREATEFORM表单3

下面举例介绍利用表单设计器刨建表单的步骤。

【例9.3]利用表单设计器创建表单“表单3”。

167

操作步骤如下:

(1)单击VisualFoxPro6.O主窗口工具栏中的“新建”按钮,弹出“新

建”对话框。在

“文件类型”列表框选择“表单”,单击“新建文件押按钮,进入“表单

设计器押窗口,如图

9-13所示。

(2)使用“快速表单”功能选定需要的数据表或视图中的字段。

①打开主菜单栏的盯表单”子菜单,选择“快速表单”选项(或者在

“表单设计器”窗

口使用快捷键,选择“生成器”选项),弹出“表单生成器”对话框。

②在“表单生成器”对话框的“数据库和表”栏中,选取需要的库、

表或视图,将“可

用字段”中的有关宇段转入“选定字段斗栏中。这里我们选用数据库

168

OKSJK.DBC中的视图

GKSJK.VUE,将它的字段全部转入“选定字段”栏中,如图9-14所示。

③单击“确定”按钮,弹出表单轮廓,在“属性”栏选择表单标题

Caption,输入“高

考情况表”,如图9-情所示。

④关闭“表单生成器”,弹出“另存为”对话框后,在“保存表单为"

栏输入“表单3”,

单击“保存”按钮,则表单3.scx快速创建完成。

为r观察创建效果,在命令窗口输入:

DoFORM表单3

运行结果如图9-16所示。可以看到,该表单仅显示出第一条记录,

其他记录却无法显示,148

169

1fisualFoxPrO6.0程序设计教程

同时还可以看到,屏幕显得比较凌乱,各字段并不一定显示在合适的地方。

究其原因是创建

表单时,我们并没有给它添加任何控件,使得用户对它无法进行更进一步

的操作。这些正是

我们要对表单进行修改、修饰的理由。

图9-11豪单设计赫窗口

躅9-14表单生成嚣射话框

匿9-15丧单3的鳍构

圈乒16最单3的运行结果

170

9.2表单的修改

无论是利用表单向导还是利用表单设计器创建的表单,只要对它感到不

满意都可以使用

“表单设计器”进行修改。在命令方式下,修改表单的命令格式是:

MODIFYFORM<Formname>.scx

93添加控件及属性

利用“表单设计器”,通过它提供的“表单控件”工具栏可以很容易地

添加控件、移动和

调整控件的大小、赋值和删除控件、对齐控件、修改Tab键的次序。

“表单控件”工具栏如图9.17所示。

表9.1列出了各种表单控件按钮的作用。

单控件工具栏

171

表9.1裹单控件工具栏按钮功能一览裹

丹创符

形状

0L弊定塾

砸耀

凰像

就蝇

组合框

通壤按忸组

前奇捧钮蚂

文奉框

172

鹰暑燕

t超蛆链接

▲T寄塾

AI线条

tOLE存嚣

t寝格衰

,,

▲T划襄推*

t复选框

十命令按妞蛆

173

f螭情框

ti毓

▲♦-选定刘藏

按钮I作用

I选定对妻I移动和政变拉件的大小,取消对其他拉制对象的

选取状志|

174

I查看娄I胃j来选择显示一十已注册的粪库,当选择一十

类后,工具栏只显示选定类库中粪的图标I

I标签|主要Hj来显示文本,在运行时可以通过对方法

的调用来动态地更改文本I

I立本框I用于显示井蝙辑宇股或内存变量及其他部分所

需的信息I

辅辑框1|用来编辑较长数据,在备注型字段中放置说明等

175

I命争按襁|用来创建单十命令按钮,通常用于触发一十事

件,如移动记录指针等I

命令按钮蛆|刨建一组命母按钮,可咀作为单十或者一蛆操作

I选疆按钮组|创建蛆单遗按钮.让用户从中选择一个按钮,圆

中有点则表示选中I

176

I复选框I

I

II设置复选框,用来代表逻辑鼓据类型的宇段。让

用户根据需要自行指定,框中显示别I

II选中,表示为真,框中空白则未连中,表示为假

9章表单

表单fForm)也称为屏幕(Screen)或窗口(Window)。它包含的各种控件、

由表单所

创建的对象,为数据库信息的显示、输入和编辑提供了简单方便的方法。

表单的设计足可视

化编种的基础。本章将介绍在VinualFoxPrO6.0环境下创建、修馥、修饰、

运行袁单,以厦

177

如何向表单添加控件,如何设计表单模块等内容。缺省的表单文件的扩展

名为.SCXo

9.1创建表单

在VisualFoxPro6.0中,创建表单的方法有三种。使用表单向导、使

用表单设计器、使

用“新建”工且。三种方法各有千秋。第1种方法通过回答系统提出的各

种问题,引导初学

者“一步一个脚印,到达胜利的彼岸”:第2种方法不但町以创建新表单,

还可以修改已有的

老表单:第3种方法则呵以快速创建…个较简单的表单。

9.1.1利用表单向导创建表单

用表单向导既可以创建单表表单,又可以创建一对多数据表表单。

【例9.1]根据数据表ksqkb.dbf,用表单向导创建一个单表表单"表

178

单1”。

操作步骤如下:

(1)单击VisualFoxPro6,0主窗口工具栏的“新建”按钮,进入“新建”

对话框。

(2)在“新建”对话框,选择“表单”选项,再单击“向导”按钮.进

入“向导选取”

对话框,如图9-1所示。

(3)选取“表单向导”,单击“确定”按钮,'进入“表单向导”窗口的

“步骤1.字段选

取”对话框。

(4)在“步骤1一字段选取”对话框的“数据库和表”栏,选取数据表

ksqkb.dbf,将“可

用字段”栏中的各个字段全部转入“选定字段”栏中,结果如图9-2所示。

179

圈9-1向导选取

圈90表单向导步骤1.字段选取

(5)单击“下一步”按钮,进入“表单向导。的“步骤2.选择表单式

样”对话框。该

对话框的“样式”栏给出了“标准”等9种按钮样式供用户选择,“按钮

类型”列表给出了“文

本按钮”等4类按钮类型供用户选择。此处将“按钮类型”选择为“文本

按钮”,将“样式”

选择为“浮雕式”,如斟9-3所示。

(6)单击“下一步”按钮,进入“表单向导”的“步骤3-排序次序”对

话框。在该对

180

话框的“可用的字段或索引标识”栏中选择字段“考号”,将它添加到“选

定字段”栏中,如

图9-4所示。

圈9-3表单向导步骤2,选择丧单样式图g-4表单向导步骤3.排序次

(7)单击“下一步”按钮,以考号的升序建立表索引,井进入了“表单

向导”的“步骤

4一完成”对话框。在该窗口的“请输入表单标题”栏输入标题“高考考

生情况统计表”。为了

保存并观察表单的运行结果,选择“保存井运行表单”,如图9-5所示。

(8)单击“完成”按钮,弹出“另存为”窗口,在“保存表单为"栏中

输入“表单1”,

单击“保存”按钮,则表单创建成功井运行,结果如国9-6所示。

181

图9-5表单向导步骤4J完成

09-6“表单I”运行结果

【例9.2]用表单向导创建一个一对多数据衰的表单“表单2”。

操作步骤如下:

(1)同例9』中的步骤(1)和(2)-样,进入圈9-1所示的“向导选取”对

话框。

(2)选取“一对多表单向导”,单击“确定”按钮,进入“〜对多表单

向导”的“步骤

1一从父表中选定字段”对话框。通过“数据库和表”栏右侧的选择按钮

或“…”按钮.打开

数据库gksjkdbc(该库事先已经以字段“考号”建立了各表之间的关联,

其中zhqkb.dbf为

父库),选择zhqkb.dbf作为父表,井将“可用字段”中列出的该表的有关

182

字段转入“选定字

段”栏中,如图9-7所示;

(3)单击“下一步”按钮,进入“一一对多表单向导”的“步骤2-从于

表中选定字段”

对话框。在该对话框中选择数据表Iqyxb.dbf为予表,并将有关字段转入

“选定字段”列表框,

如图9-8所示。

图9-7步骤1'从父表中选定字段图9.8步骤2.从子表中选定字

(4)单击“F〜步”按钮,进入“一对多表单向导”的“步骤3—建立

表之间的关系”

对话框。选择父、子两表中的关联字段“考号”,如图9-9所示。

⑸单击“下一步”按钮,进入“一对多表单向导”的“步骤

183

框。此处在“按钮类型”栏选择“图片按钮”,在“样式”栏选择“新

4一选择表单样式”对话

奇式",如图9-J0所示。

S9-9步骤3_建立襄之间的关系图9-10步瞿毛4遗{苹表单样式

(6)单击-F-步”按钮,进入“一对多表单向导”的“步骤5.排序次序”

对话框。

由于父、子两表事先已经按字段“考号”建立了关联,因此可直接单击“下

一步”按钮进入

“一对多袁单向导”的却步骤6-完成”对话框。

(7)在“一对多表单向导”的“步骤6-完成”对话框,在“请输入表单

标题”栏输入

标题“高考考生录取情况统计表”。选择“保存表单以各将来使用”,如图

9-11所示。

184

(8)单击“预览”按钮,观察表单形式,如图9-12所示。

(9)单击“返回向导”,返回“步骤6一完成”。再单击“完成”按钮,

弹出“另存为”

对话框,在“保存表单为”栏中输入“表单2”,单击“保存”按钮,则一

对多数据表表单创

建成功。

若要运行该表单,可在命令窗口输入:

DOFORM表单2.scx

此时首先进入了第1条记录,同时表单底部提供的各种命令按钮可以

使用,以便用户操

作表单。

型9-11步骤6.完战

185

图9-12表单2效果预览

9.1.2利用表单设计器创建表单

表单设计器具有强大的表单设计功能。它不但可以设计新表单,还可

以修改旧表单,对

表单进行各种修饰。它提供的快速表单命令,使得创建表单的工作变得更

快捷。

在命令方式下,使用表单设计器创建表单的命令是:

CREATEFORM<fdrmname>

例如,要用表单设计器创建一个名为“表单3.scx”的表单,则在命

令窗口输入:

CREATEFORM表单3

下面举例介绍利用表单设计器刨建表单的步骤。

186

【例9.3]利用表单设计器创建表单“表单3”。

操作步骤如下:

(1)单击VisualFoxPro6.O主窗口工具栏中的''新建"按钮,弹出“新

建”对话框。在

“文件类型”列表框选择“表单”,单击“新建文件押按钮,进入“表单

设计器押窗口,如图

9-13所示。

(2)使用“快速表单”功能选定需要的数据表或视图中的字段。

①打开主菜单栏的盯表单”子菜单,选择“快速表单”选项(或者在

“表单设计器”窗

口使用快捷键,选择“生成器”选项),弹出“表单生成器”对话框。

②在“表单生成器”对话框的“数据库和表”栏中,选取需要的库、

表或视图,将“可

187

用字段”中的有关宇段转入“选定字段斗栏中。这里我们选用数据库

OKSJK.DBC中的视图

GKSJK.VUE,将它的字段全部转入“选定字段”栏中,如图9-14所示。

③单击“确定”按钮,弹出表单轮廓,在“属性”栏选择表单标题

Caption,输入"高

考情况表",如图9-情所示。

④关闭“表单生成器”,弹出“另存为”对话框后,在“保存表单为"

栏输入“表单3”,

单击“保存”按钮,则表单3.scx快速创建完成。

为r观察创建效果,在命令窗口输入:

DoFORM表单3

运行结果如图9-16所示。可以看到,该表单仅显示出第一条记录,

其他记录却无法显示,148

188

1fisualFoxPrO6.0程序设计教程

同时还可以看到,屏幕显得比较凌乱,各字段并不一定显示在合适的地方。

究其原因是创建

表单时,我们并没有给它添加任何控件,使得用户对它无法进行更进一步

的操作。这些正是

我们要对表单进行修改、修饰的理由。

图9-11豪单设计赫窗口

躅9-14表单生成嚣射话框

匿9-15丧单3的鳍构

圈乒16最单3的运行结

挖件框的最大唐:KeyBoardHighValueo

189

控件框的最小值:KeyBoardLowValue0

控件框的步长值:Increment。

挖件框的初始值:Valueo

下面举例说明设计微调控件的步骤。

【例9.10]在“表单8”中,拣加一个微调控件,生成“表单9”,用来

显示数据表zhqkb.dbf

中数值型字段“原始成绩”的值。

操作步骤如F:

⑴打开“表单8”,将它另存为“表单9”,调整原有各控件到适当位

(2)在“表单9”中,新增加一个“标准总分”标签,并调整到合适位

置。

190

(3)单击工具栏的微调控件巨在“标准总分”标签之后,建立一个微调

控件:

Spinnerlo如图9-35所示。

(4)定义微调控件的主要属性。

控件框的最大值:KeyBoardHighValue900

控件框的最小值:KeyBoardLowValue100

控件框的步K值;Increment1

控件框的初始值:Value100

控件框的数据来源:ControlSourcegksjk.标准总分。

(5)在表单设计器中单击右键,打开快捷菜单,选择“数据环境”选项,

进入“数据

环境设计器”窗口。

191

(6)在“数据环境设计器”窗口,单击右健,调出快捷菜单。

(7)选择快捷菜单中的“添加”选项,从而打开“添加表或视图”对话

框。在其中选择

视图gksjk,结果如图9-36所示。

图9-35表单9k#J'圈9.36为裹单9设置数据环境

(8)单击瑞捺加”按钮,实现对视图gksjk.vue的添加。

(9)存盘并执行“表单9”,结果如图9-37所示。

9.3.11添加表格控件

表格控件是指,以表格的方式输入、输出数据的控件。它常被用于一对多

的数据表关系

中。它的主要属性有总列数ColumnCount、父表LinkMaster、数据源

RecordSource>表格控

192

件的名字Name等,各表格列的属性有:各列的数据来源ControISource

等。

图9-37表单9运行结果

下面举例说明添加表格控件的步骤。

I例9.11】以“表单9”为基础,建立一个包含表格控件的“表单

10”.用来控制数据表

zhqkb.dbf.ysfsb.dbf.bzfsb.dbf中数据的输入和输出。

操作步骤如下:

(1)打开表单9,将它另存为表单10,调整原有各控件到适当的位置。

(2)单击工具栏的表格控件霸蒯,在表单10的。F部,将表格控件装

入。

(3)定义表格控件的属性。

193

Namie:高考分数

ColumnCount:10

LinkMaster:zhqkb

RecordSource:ysfsb

(4)定义各控件列的主要属性。

第1列的“Cohmml椰主要属性:

ControlSource:ysfsb.原始总分.

第1列的“headerl”主要属性:

Caption:原始总分

⑸重复第4步,可定义第2到10列

各列的主要属性"Columnx"(x_2〜10)啊

194

Controlsource属性分别为ysfsb.原始语文、

ysfsb原始数学、ysfsb.原始外语、ysfsb.原始

综台、bzfsb.标准总分、bzfsb.标准语文、bzfsb.

标准数学、bzfsb.标准外语、bzfsb.标准综合;

各列“headed”的“Caption”属性分别为:

原始语文、原始数学、原始外语、原始综合、

标准总分、标准语文、标准数学、标准外语、

标准综合。结果如图9-38所示。

(6)存盘,运行“表单10”,结果如图'圈9-38表单10结构

9-39所示。

93.12设计命令按钮组控件

195

命令按钮组控件的作用是把一些分散的

命令按钮组合起来,统一管理。但每个命令按

钮都有各自的属性、事件和方法。使用时,仍

必须对它们进行各自的独立操作。

命令按钮组控件的主要属性有一个,即用

来定义它所包含的命令按钮个数的

BottonCounto

下面举例说明添加命令按钮组控件的步

骤。

图939襄单10运行结果

I例9.12]以“表单10”为基础,建立一个包含命令按钮组控件的“表

单11”一用来控

196

制数据表zhqkb.dbf、ysfsb,dbf中数据的输入、输出和编辑。

操作步骤如下:

(1)打开表单10,将它另存为表单11,删除表格控件有关标准分数的

5列,井调整各

控件到适当位置。

(2)单击工具栏的表格控件,在“表单II”的下部,将其装入。

(3)定义命令按钮组控件的属性如下:

Name:CommandGroupl

ButtonCount:7

Autosize.T_

(4)定义各命令按钮控件的主要属性。

(DCommandl

197

Caption:到首记录

High:25

Widh:60&&以下各命令按钮高和宽均为25、60

(§)Command2

Caption:到末记录

③Command3

Caption:土条记录

(萤CoiTunand4

Caption:下条记录

⑤Command5

Caption:插入记录

198

(9Command6

Caption:删除记录

©Command7

C叩tion:退出

结果如图9-40所示。

国9T40表单41结构

(5)为每一个命令按钮编写Click事件的代码。

①Commandl

gotop&&将指针移动到首记录

this.enabled=.£

mandl;roup1.command2.enabled=.t.&&允许将指针移到

末记录

199

thisform.commandgroupl.command3.enabled='t.&&允许将指针再向上

移动

mandgroupl.command4.enabled=,t,&&允许将指针向下移

thisfbrm.refresh&&刷新表单

②Command2

gobottom&&将记录指针指向末记录时

this.enabled=f.

mandgroupl.commandl.enabled-.t.&&允许将指针移到首

记录

thisfonii.conimandgToupl.commands.enatlled=.t+&&允许将指针再

向上移动

thisform,commandgroupl.command4.enahled=.t.&&允诈将指针向

200

下移动

thisform.refi'esh

③Command3

skip-1

ifbofO&&指针指向了首记录之前

this.enabled=.f

thisfonii.conimanderoupmandl+enabledj£&&不允许使用:00

TOP命令

mandgroup1.command4.enabled=.t.&&允许将指针向

下移动

elae&&指针未指向首记录之前

this.qllll矗b{}e吐气匕

201

;一吓、'f、.二,一—童4

“触,一删岬,.c—础*enabled-_t.&&不允许将指啪睁萝善,

.』+'

endif

r,

thisform.refresh

④Command4

skipl

ifbof()岛&指针指向了末记录之后

202

this.enabled=.f

Chisfbrm,command8roupl.conimandl,enabled=♦t,蚀&允许将指针移

到首记录

mand8roupl.comnund2.enabled=.f&&不允许使用:

gobottom

thisform,commandgroupLeommand3,enabled=.t.&&允许将指针向上

移动

else&&指针未指向末记录之后

this.enabled=.t.

thisform.conimandgroupl.commandl.mabled;.tO啤jc许将指针穆

向首记录

thisfonn.commandgroupl.command2,enable扣八&&允许将指针移向

来记录

203

thisfonn+comand3,enabled=t&&允许将指针向上

移动

endif:'【一

endif

thisfbnn.refresh

©Commands

r,:,

opendatabasegksjk.dbco&clusive

appendbiank

204

thisfonn.m宜%11

@Conunand6:,

.ifmeyiigebox("您真的要删睬本记录吗?",1+64+256,"提示“户

deletenext1

pack

:.AthXhnriNSt〜?..船.

-i,

else

0oo~、j.-

1,'!f...i

,relcaat:thisform

205

-・・n

1,

-mdif

9

©Command7。,:,

JJ

'ReleaseTlusFonn

(6)执行“表单n”,将会自如地使用所定义的命令按钮组,.而完成对

数据库的操作。

如一开始时指针指在第1条记录,只要按一下“到末记录”按钮,指针就

立鞋辨旨哺最后一条

记录(即第10象记录),结果如图9-41所示。

206

-1

圈9-41表单H运行结果

9,4设计多页表单

多页表单指用户可以设计一个“页框”控件,将儿张表单封装在同一

个页面上,从而实

现对它们各种预先定义好的操作。

页框控件的主要属性由两部分组成,〜部分用来定义页框内所包含的

页数,而另一部分

207

则应是各页本身所具有的属性。

【倒9.131以“表单II”为基础,设计一个包含两页表单的'”表单

12”,用来控制数据

表zhqkb.dbf,ysfsb.dbf中数据的输入、输出和编辑。

操作步骤如下:

(1)单击FoxPro工具栏中的“建立空白文档”按钮,进入“新建”对

lz框。

(2)在其中选择“表单抑选项,单击“新建文件”按钮,从而进入“表

单设计器”窗口。

(3)在“表格控件”窗口单击“页框”控fhl〜S,使光标变为+,移动

它到“表单设计器”

窗口.单击鼠标,加入一个“页框”控件。

利用鼠标将页框调整到适当大小和位置。

208

结果如图9-42所示。

(4)定义页框控件的属性。

Name:页框1

PageCount:2

ActivePage:2

(5)定义页的主要属性。

①第1页Pagel

Caption:原始分数

Name:第1页

图9-42在表单设甘器中定史页框控件

②第2页Page2

209

Caption:标准分数

Name:第2页

(6)将表单11分别复制到“第1页”、IV第2页”中。

(7)将“第2页”中的表格控件的C叩tion属性分别改为标准总分、标

准语文、标准数

学、标准外语、标准综合;RecordSource属性改为bzfsb;将各列的

ControISouce属性分别

改为:bzfsb.标准XX(XX表示:总分、语文、...、综合)。

(8)修改命令按钮组的各按钮的代码,将第1页的各按钮代码中,凡涉

及到

“ThisForm.CommandGroupl”的地方,一律改为"ThisForm.页框1.第1

页.CommandOroupl”;

对第2页各按钮代码的对应处也一律改为“ThisForm.页框1.第2

210

页.CommandGroupl”。

(9)将两页中的I代码中的"Thisfbrm.imagel”分别改为:

"Thisfbnn.页框1.

第1页.Imagel"、"ThisForm*页框1.第2页,Imagel”。

(10)修改完毕,存盘并运行“表单12”,得到如图9-43、9-44所示结

果,用户可以在

两个页面间进行切换。

图943页框1显承结果

习题

圈9-44页框2显示结构

1.什么是表单?表单的作用是什么r

2.创建表单有几种方法?

211

3.什么叫控件?控件具有哪些最基本属性?如何向表单中添加控

件?

4.建立一对多表单时,能否指定两个子表?

5.用表单设计器进行表单设计,其所涉及的基本元素是什么?

6.请用表单向导和表单设计器,对第2章习题中所建立的sbtjb.dbf,

分别设计一个内容

显示表单,然后执行表单,并说明两种设计方法的优缺点。

7.按下列要求完成表单的设计:

(1)用“一对多表单向导”建立表单,其数据源是zhqkb.dbf(父表)

和ysfeb.dbf(对

两个数据表的字段不要求全选),执行此表单。

(2)进入“表单设计器”,添加一个标签扮件(Caption-“出生日期”,其他

属性取缺省

212

值)、文本框控件(Controlsource-zhqkb.出牛U期,其他属性取缺省值)。

(3)对表单中的某些控件属性进行位置、大小、颜色等修改。

(4)执行此表单。

8.按'卜列的步骤设计一个表单(使用的数据库足gksjk.dbc):

(1)创建一个新袭单,在表单中添加三个“表格”控件。

(2)右键单击表格拄件Gridl,在快捷命令项畔-选择“生成器”,进入

“表格设i器押。

(3)在“数据库和表”栏中选择“ZHQK_B”。

(4)把“可用字段”全部传入“选定字段”。

(5)单击“确定”按钮。

(6)重复步骤(2)〜(5)(在步骤(2)中选择“Grid2",在步骤(3)中选择

“YSFSB”),

213

完成第二个表格控件的属性设置。

⑺重复步骤(2)〜(5)(在步骤(2)中选择“Grid3",在步骤(3)中选择

“BZFSB一),

完成第三个表格控件的属拄箍置。..:.:、,..jw..,

(8)执行表单,在“Gridf一中单击某个记录,观察“Grid2”和“Grid3”

的变化惰况。

9.设计如母_9-45.所累的表单(数帮库sbtjb.dbf)。

嘲c).45jJ越一-府i雀iMl旧柱-碑

⑴模仿例9,12中的第5步,分别对“上页”、“下页”、“退出”命令按

钮编写Click

事件代码。

214

(2)执行表单。

(3)请给例9,12命令组添加上“查找”、“打印”命令按钮,编写出其

相应的Click事件

代码,并进行执行。

同时还可以看到,屏幕显得比较凌乱,各字段并不一定显示在合适的地方。

究其原因是创建

表单时,我们并没有给它添加任何控件,使得用户对它无法进行更进一步

的操作。这些正是

我们要对表单进行修改、修饰的理由。

图9-11豪单设计赫窗口

躅9-14表单生成嚣射话框

匿9-15丧单3的鳍构

215

圈乒16最单3的运行结果

9.2表单的修改

无论是利用表单向导还是利用表单设计器创建的表单,只要对它感到不

满意都可以使用

“表单设计器”进行修改。在命令方式下,修改表单的命令格式是:

MODIFYFORM<Formname>.scx

93添加控件及属性

利用“表单设计器”,通过它提供的“表单控件”工具栏可以很容易地

添加控件、移动和

调整控件的大小、赋值和删除控件、对齐控件、修改Tab键的次序。

“表单控件”工具栏如图9.17所示。

表9.1列出了各种表单控件按钮的作用。

216

单控件工具栏

表9.1裹单控件工具栏按钮功能一览裹

丹创符

形状

0L弊定塾

砸耀

凰像

就蝇

组合框

通壤按忸组

前奇捧钮蚂

温馨提示

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

评论

0/150

提交评论