《《VF程序设计》全套电子课件教程-第九章 表单设计》由会员分享,可在线阅读,更多相关《《VF程序设计》全套电子课件教程-第九章 表单设计(84页珍藏版)》请在金锄头文库上搜索。
1、第 九 章表 单 设 计1目录上一页下一页退出本 章 目 录第一节 简单表单的创建第二节 表单设计器 第三节 表单的属性、事件和方法程序 第四节 表单控件 第五节 表单的应用2目录上一页下一页退出第一节 简单表单的创建 表单(Form)是Visual FoxPro提供的用于建 立应用程序界面的最主要的工具之一。表单 相当于WINDOWS应用程序的窗口 表单可以属于某个项目,也可以游离于 任何项目之外,它是一个特殊的磁盘文件, 其扩展名为.scx。在项目管理器中创建的表 单自动隶属于该项目。创建表单一般有两种 途径:使用表单向导创建简易的数据表单;使用表单设计器创建或修改任何形式的表单 。 3目
2、录上一页下一页退出一、表单创建方法与表单类型一、表单创建方法与表单类型 1. 表单创建方法表单的创建有以下三种方法: (1) 利用命令窗口输入命令创建一个表单的命令格 式:CREATE FORM (2) 利用表单向导生成表单,可以创建基于一个表 或视图的表单,也可创建一对多的表单 ,该方法 只须按系统提供的操作步骤和屏幕提示按步进行 就能完成。 (3)利用表单设计器生成表单,可以创建简单表单 、复杂表单和一对多表单,该方法可根据用户需 要在设计器中选取各种控件,满足不同的功能要 求,方法灵活,实用性强。 4目录上一页下一页退出2.表单的类型根据表单数据来源的不同,可将表单分 为以下几种类型:(
3、 1 ) 简单表单,该表单的数据来源于某一个 表 或某一个视图。( 2 ) 复杂表单,该表单的数据来源于多个表 或 多个视图。( 3 ) 一对多表单,该表单的数据来源于两个 表, 这两个表必须是按一对多的关系连 接起来, 其中一个为父表,另一个为子 表。 5目录上一页下一页退出二、利用表单向导创建表单 二、利用表单向导创建表单 1.使用表单向导启动表单向导有以下四种途径: (1)打开“项目管理器”,选择“文档”选项卡,从中选择 “表单”。然后单击“新建”按钮。在弹出的“新建表单” 对话框中单击“表单向导”按钮。 (2)在系统菜单中选择【文件】|【新建】命令,或者 单 击工具栏上的“新建”按钮,
4、打开“新建”对话框, 在文件类型栏中选择“表单”。然后单击“向导”按钮。 (3)在系统菜单中选择【工具】|【向导】|【表单】命 令。 (4)直接单击常用工具栏上的“表单向导”图标按钮。 按步骤依照“表单向导”完成一对多表表单的设计6目录上一页下一页退出2.创建表单 【例9-1】假设以读者表为数据来源,制作查询读者 信 息的查询表单(reader.scx)。具体操作方法如下: (1) 启动表单向导,在“新建表单”对话框中选取 “表单向导”按钮。 (2) 在弹出的“向导选取”对话框中选择 “表单 向导”选项。 (3) 单击“确定”按钮后,出现表单向导的第一个 对话框,如图9-1所示。这一步主要选择
5、数据库 表或自由表中的全部“字段”或部份“字段”, 作为表单的显示对象。本例选择“读者”数据表 中字段名为读者编号、姓名、性别、出生日期、 籍贯、联系电话等六个字段。 7目录上一页下一页退出图9-1 表单向导第一个对话框 图9-2 表单向导第二个对话框 8目录上一页下一页退出(4) 单击“下一步”按钮后,出现如图9-2所示的表 单向导第二个对话框,该步骤主要用来选择表单 的显示格式,向导系统提供了九种样式供用户选 择,本例从样式选项框中选中浮雕式。 在对话框的按钮类型选框中,有文本按钮、图片 按钮、无按钮和定制4种类型,本例选择的是文 本按钮,表示表单将自动生成一组以文本表示的 命令按钮。如图
6、9-3所示。 图9-3 文本按钮方式 9目录上一页下一页退出(5) 单击“下一步”按钮,出现如图9-4所示的表单 向导第三个对话框。该对话框主要用来选择 排序关键字,本例选择 “读者编号”作为关键 字,按升序排序。 (6) 单击“下一步”按钮,出现如图9-5所示的 表单 向导第四个对话框,输入表单标题, 默认值 为“读者”,下面的三个单选项和 三个复选项 主要用来询问在创建完这个表 单后要做的工 作。若对当前设置的表单进 行预览,可单击 右面的“预览”按钮。预 览后,单击“返回向导” 按钮即可回到表 单向导。10目录上一页下一页退出图9-4 表单向导第三个对话框 图9-5 表单向导第四个对话框
7、 11目录上一页下一页退出(7) 保存表单。单击“完成”按钮,系统弹出 “另存为”对话框,选择表单文件保存的磁 盘路径,输入新的表单文件名,并在“保存 类型”下拉表中选取“表单”类型,如图9-6 所示。单击“保存”按钮,该表单就保存到 了磁盘上。 图9-6 “另存为”对话框 12目录上一页下一页退出三、表单的运行 三、表单的运行 1.运行表单一般有三种方式命令方式:在命令窗口中,直接输入命令:DO FORM 2.打开表单,在表单设计器窗口运行表单 (1) 打开表单单击“打开”菜单工具按钮,弹出“打开”对话框。 在文件类型下拉表中选取“表单”项,在文件名栏中 输入所需表单文件名,单击“确定”按钮
8、。 (2)运行表单在表单设计器窗口,选择“表单”菜单中的“运行” 命令,或直接单击工具栏中的运行按钮。 3在项目管理器中运行表单打开项目管理器,选中项目管理器中的“文档”选项 卡,选择要运行的表单,单击“运行”按钮。13目录上一页下一页退出四、创建一对多表单 四、创建一对多表单 【例9-2】试在图书管理系统中,运用读者表和借书表查 阅某个读者所借图书情况,创建表单(读者借书.scx )。 其操作步骤如下: (1)启动表单向导。(2)在“向导选取”对话框中,选择“一对多表单向导 ”。(4)单击“确定”按钮,出现如图9-7所示的对话框。从 父 表中选取所需字段。(5)单击“下一步”按钮,出现如图9
9、-8所示的对话框, 在对 话框中选择与父表有直接关系的子表,从子表 中选择 要在表单中显示的字段。注意:在创建一个一对多表单时,两个数据表之间应该 可 以建立连接关系,否则无法创建一对多表单。 14目录上一页下一页退出图9-7 从父表中选取字段对话框 图9-8 从子表中选取字段对话框 15目录上一页下一页退出(6) 单击“下一步”按钮,出现对话框。为表单中的两 个数据表之间建立关系。本例选择的是“读者编号” 作为“读者表”与“借书表”之间的关键字段。 (7) 单击“下一步”按钮,出现对话框,选择表单样式 和按钮类型,在这里选择的是“标准式”表单样式, 而按钮类型选择的是“图片按钮”。 (8)
10、单击“下一步”按钮,出现对话框,选择父表中的 排序关键字。在这里选取“读者编号”字段作为父表 升序排序的关键字。 (9) 单击“下一步”按钮,出现对话框,输入表单标题 名,本例输入“读者借书查询”,并选取“保存表单 以备将来使用”单选项。 (10) 运行该表单后,可得到如图9-9所示的窗口。 16目录上一页下一页退出图9-9 读者借书查询表单运行窗口 17目录上一页下一页退出第二节 表单设计器 一、启动表单设计器一、启动表单设计器方法方法 启动表单设计器有多种方法: 菜单方法:若是新建表单,在系统 菜单中选择【文件 】|【新建】,在文件类型对话框中选择“表单”,单击 “新建文件”按钮;若是修改
11、表单,则单击【文件】|【 打开】,在打开对话框中选择要修改的表单文件名, 单击“打开”按钮。 命令方法:在COMMAND窗口输入如下命令:CREATE FORM +thisform.optiongroup1.buttonsthisfo rm.optiongroup1.value.caption+chr(1 3) cstr=cstr+“你的爱好“+chr(13)67目录上一页下一页退出if thisform.check1.value=1 cstr=cstr+thisform.check1.caption endif if thisform.check2.value=1 cstr=cstr+thi
12、sform.check2.caption endif if thisform.check3.value=1 cstr=cstr+thisform.check3.caption endif thisform.edit1.value=cstr endif68目录上一页下一页退出9.列表框(ListBox)控件 1) 列表框的功能列表框提供一组条目(数据项),用户可以从 中选择一个或多个条目,一般情况下,列表框显 示其中的若干条目,用户可以通过滚动条浏览其 他条目。 列表框69目录上一页下一页退出2)选项组常用属性 RowSourceType:指明列表框数据源的类型。RowSource:指定列表框的
13、数据源 ,两者常用的搭配 如表所示。RowSourceType属性值RowSource属性0-无在程序运行时,通过AddItem方法添加 列表框条目,通过RemoveItem方法移去 列表框条目无1-值列出在RowSource属性中指定所有数据 项可以是用逗号隔开的若干数据项的集合,例 如,在设计时,在本属性框中输入:北京、上 海、长沙、武汉5-数组列出数组的所有元素使用一个已定义的数组名。6-字段列出一个字段的所有值字段名7-文件列出指定目录的文件清单磁盘驱动器或文件目录8-结构列出数据表的结构表名 70目录上一页下一页退出List:用以存取列表框中数据条目的字符串数组。 例 如,LIST1
14、代表列表框中的第一行(第一 个数 据项)。 ListCount:列表框中数据条目的数目。 ColumnCount:指定列表框的列数。 Value:返回列表框中被选中的条目。 ControlSource:该属性在列表框中的用法与在其他 控件中的用法有所不同,在这里,用户可以通过 该属性指定一个字段或变量用以保存用户从列表 框中选择的结果。 Selected:该属性是一个逻辑型数组,第N个数组元 素 代表第N个数据项是否为选定状态。 MultiSelect:指定用户能否在列表框控件内进行多 重 选定。 71目录上一页下一页退出【例9-6】列表框的应用:按下图设计一个表单。要求 表单运行时,LIST
15、1列表框显示STUD表的所有字段 ,单击左箭头按钮时,LIST1中选择的字段加入到 LIST2中。 72目录上一页下一页退出操作步骤: 按图所示在表单中加入二个列表框、二个标签、 二个命令按钮。 在表单的INIT事件中加入如下代码: thisform.list1.value=0 thisform.list2.value=0 open database student use stud for i=1 to fcount() thisform.list1.additem(fields(i) next close database73目录上一页下一页退出 在左箭头按钮(COMMAND1)的CLIC
16、K事件中加 入如下代码: thisform.list2.addlistitem(thisform.list 1.listitemthisform.list1.value) thisform.list1.removeitemthisform.list1. value右箭头按钮(COMMAND2)的CLICK事件代码请 用户自己编写。 74目录上一页下一页退出10.组合框(comboBox)控件 组合框与列表框类似,也是用于提供一组条目 供用户从中选择,组合框和和列表框的主要区 别在于: (1)对于组合框来说,通常只有一个条目是可见 的。用户可以单击组合框上的下拉箭头按钮打 开条目列表,以便从中选择。 (2)组合框不提供多重选择的功能,没有 MultiSelect属性。(3)组合框有两种形式: