《《VF程序设计》全套PPT电子课件教程-第九章 表单设计》由会员分享,可在线阅读,更多相关《《VF程序设计》全套PPT电子课件教程-第九章 表单设计(84页珍藏版)》请在金锄头文库上搜索。
1、第第 九九 章章表表 单单 设设 计计1目录上一页下一页退出 本本 章章 目目 录录第一节第一节 简单表单的创建简单表单的创建第二节第二节 表单设计器表单设计器 第三节表单的属性、事件和方法程序第三节表单的属性、事件和方法程序 第四节表单控件第四节表单控件 第五节表单的应用第五节表单的应用 2目录上一页下一页退出第一节第一节 简单表单的创建简单表单的创建 表单(Form)是VisualFoxPro提供的用于建立应用程序界面的最主要的工具之一。表单相当于WINDOWS应用程序的窗口表单可以属于某个项目,也可以游离于任何项目之外,它是一个特殊的磁盘文件,其扩展名为.scx。在项目管理器中创建的表单
2、自动隶属于该项目。创建表单一般有两种途径:使用表单向导创建简易的数据表单;使用表单设计器创建或修改任何形式的表单。 3目录上一页下一页退出 一、表单创建方法与表单类型一、表单创建方法与表单类型 1. 1. 表单创建方法表单创建方法表单的创建有以下三种方法:(1) 利用命令窗口输入命令创建一个表单的命令格式: CREATE FORM CREATE FORM (2) 利用表单向导生成表单,可以创建基于一个表或视图的表单,也可创建一对多的表单 ,该方法只须按系统提供的操作步骤和屏幕提示按步进行就能完成。(3)利用表单设计器生成表单,可以创建简单表单、复杂表单和一对多表单,该方法可根据用户需要在设计器
3、中选取各种控件,满足不同的功能要求,方法灵活,实用性强。 4目录上一页下一页退出2.2.表单的类型表单的类型根据表单数据来源的不同,可将表单分为以下几种类型:(1)简单表单,该表单的数据来源于某一个表或某一个视图。(2)复杂表单,该表单的数据来源于多个表或多个视图。(3)一对多表单,该表单的数据来源于两个表,这两个表必须是按一对多的关系连接起来,其中一个为父表,另一个为子表。5目录上一页下一页退出二、利用表单向导创建表单二、利用表单向导创建表单 1.1.使用表单向导使用表单向导启动表单向导有以下四种途径:(1)打开“项目管理器”,选择“文档”选项卡,从中选择“表单”。然后单击“新建”按钮。在弹
4、出的“新建表单”对话框中单击“表单向导”按钮。(2)在系统菜单中选择【文件】|【新建】命令,或者单击工具栏上的“新建”按钮,打开“新建”对话框,在文件类型栏中选择“表单”。然后单击“向导”按钮。(3)在系统菜单中选择【工具】|【向导】|【表单】命令。(4)直接单击常用工具栏上的“表单向导”图标按钮。 按步骤依照“表单向导”完成一对多表表单的设计6目录上一页下一页退出2.2.创建表单创建表单【例9-1】假设以读者表为数据来源,制作查询读者信息的查询表单(reader.scx)。具体操作方法如下:(1) 启动表单向导,在“新建表单”对话框中选取“表单向导”按钮。(2) 在弹出的“向导选取”对话框中
5、选择 “表单向导”选项。(3) 单击“确定”按钮后,出现表单向导的第一个对话框,如图9-1所示。这一步主要选择数据库表或自由表中的全部“字段”或部份“字段”,作为表单的显示对象。本例选择“读者”数据表中字段名为读者编号、姓名、性别、出生日期、籍贯、联系电话等六个字段。 7目录上一页下一页退出图图9-1 表单向导第一个对话框表单向导第一个对话框图9-2表单向导第二个对话框8目录上一页下一页退出(4)单击“下一步”按钮后,出现如图9-2所示的表单向导第二个对话框,该步骤主要用来选择表单的显示格式,向导系统提供了九种样式供用户选择,本例从样式选项框中选中浮雕式。在对话框的按钮类型选框中,有文本按钮、
6、图片按钮、无按钮和定制4种类型,本例选择的是文本按钮,表示表单将自动生成一组以文本表示的命令按钮。如图9-3所示。图9-3 文本按钮方式9目录上一页下一页退出(5)单击“下一步”按钮,出现如图9-4所示的表单向导第三个对话框。该对话框主要用来选择排序关键字,本例选择“读者编号”作为关键字,按升序排序。(6)单击“下一步”按钮,出现如图9-5所示的表单向导第四个对话框,输入表单标题,默认值为“读者”,下面的三个单选项和三个复选项主要用来询问在创建完这个表单后要做的工作。若对当前设置的表单进行预览,可单击右面的“预览”按钮。预览后,单击“返回向导”按钮即可回到表单向导。10目录上一页下一页退出图图
7、9-4 表单向导第三个对话框表单向导第三个对话框 图图9-5 表单向导第四个对话框表单向导第四个对话框11目录上一页下一页退出(7)保存表单。单击“完成”按钮,系统弹出 “另存为”对话框,选择表单文件保存的磁盘路径,输入新的表单文件名,并在“保存类型”下拉表中选取“表单”类型,如图9-6所示。单击“保存”按钮,该表单就保存到了磁盘上。图图9-6 “另存为另存为”对话框对话框12目录上一页下一页退出三、表单的运行三、表单的运行 1.1.运行表单一般有三种方式运行表单一般有三种方式 命令方式:命令方式:在命令窗口中,直接输入命令: DO FORM DO FORM 2.2.打开表单,在表单设计器窗口
8、运行表单打开表单,在表单设计器窗口运行表单(1) 打开表单 单击“打开”菜单工具按钮,弹出“打开”对话框。在文件类型下拉表中选取“表单”项,在文件名栏中输入所需表单文件名,单击“确定”按钮。(2)运行表单 在表单设计器窗口,选择“表单”菜单中的“运行”命令,或直接单击工具栏中的运行按钮。 3 3在项目管理器中运行表单在项目管理器中运行表单 打开项目管理器,选中项目管理器中的“文档”选项卡,选择要运行的表单,单击“运行”按钮。13目录上一页下一页退出四、创建一对多表单四、创建一对多表单 【例9-2】试在图书管理系统中,运用读者表和借书表查阅某个读者所借图书情况,创建表单(读者借书.scx)。其操
9、作步骤如下:(1)启动表单向导。(2)在“向导选取”对话框中,选择“一对多表单向导”。 (4)单击“确定”按钮,出现如图9-7所示的对话框。从父 表中选取所需字段。(5)单击“下一步”按钮,出现如图9-8所示的对话框,在对 话框中选择与父表有直接关系的子表,从子表中选择要在表单中显示的字段。 注意:注意:在创建一个一对多表单时,两个数据表之间应该可 以建立连接关系,否则无法创建一对多表单。 14目录上一页下一页退出图图9-7 从父表中选取字段对话框从父表中选取字段对话框 图图9-8 9-8 从子表中选取字段对话框从子表中选取字段对话框 15目录上一页下一页退出(6) 单击“下一步”按钮,出现对
10、话框。为表单中的两个数据表之间建立关系。本例选择的是“读者编号”作为“读者表”与“借书表”之间的关键字段。 (7) 单击“下一步”按钮,出现对话框,选择表单样式和按钮类型,在这里选择的是“标准式”表单样式,而按钮类型选择的是“图片按钮”。(8) 单击“下一步”按钮,出现对话框,选择父表中的排序关键字。在这里选取“读者编号”字段作为父表升序排序的关键字。(9) 单击“下一步”按钮,出现对话框,输入表单标题名,本例输入“读者借书查询”,并选取“保存表单以备将来使用”单选项。(10) 运行该表单后,可得到如图9-9所示的窗口。 16目录上一页下一页退出图图9-9 读者借书查询表单运行窗口读者借书查询
11、表单运行窗口17目录上一页下一页退出第二节第二节 表单设计器表单设计器 一、启动表单设计器一、启动表单设计器一、启动表单设计器一、启动表单设计器方法方法方法方法启动表单设计器有多种方法: 菜单方法:若是新建表单,在系统菜单中选择【文件】|【新建】,在文件类型对话框中选择“表单”,单击“新建文件”按钮;若是修改表单,则单击【文件】|【打开】,在打开对话框中选择要修改的表单文件名,单击“打开”按钮。 命令方法:在COMMAND窗口输入如下命令: CREATE FORM CREATE FORM &创建新的表单或MODIFY FORM MODIFY FORM &打开一个已有的表单 在项目管理器中,先选
12、择文档标签,然后选择表单,单击新建按钮。若是修改表单,选择要修改的表单,单击“修改”按钮。18目录上一页下一页退出二、表单设计器环境介绍二、表单设计器环境介绍 1. 1. 设计器窗口设计器窗口 “表单设计器”窗口内包含正在设计的表单。用户可在表单窗口中可视化地添加和修改控件、改变控件布局,表单窗口只能在“表单设计器”窗口内移动。以新建方式启动表单设计器时,系统将默认为用户创建一个空白表单,如图9-10左侧部分。图图9-10 表单设计器表单设计器19目录上一页下一页退出2. 2. 属性窗口属性窗口设计表单的绝大多数工作都是在属性窗口中完成的,因此用户必须熟悉属性窗口的用法。如果在表单设计器中没有
13、出现属性窗口,可在系统菜单中单击【显示】|【属性】,属性窗口如图9-11所示。页框选项卡“对象”下拉列表框图属性设置框图图9-11 属性窗口属性窗口20目录上一页下一页退出3. 3. 表单控件工具栏表单控件工具栏设计表单的主要任务就是利用“表单控件”设计交互式用户界面。“表单控件”工具栏是表单设计的主要工具。默认包含21个控件、4个辅助按钮,如图9-12所示。图图9-12 表单控件表单控件21目录上一页下一页退出设置Tab健次序 属性窗口 表单控件工具栏 布局工具栏 自动格式 数据环境 代码窗口 调色板工具栏 表单生成器4.4.表单设计器工具栏表单设计器工具栏打开“表单设计器”时,主窗口中会自
14、动出现“表单设计器”工具栏,如图9-12所示。图图9-12 表单设计器工具栏表单设计器工具栏22目录上一页下一页退出三、快速表单三、快速表单1.1.表单生成器表单生成器调用表单生成器的方法有以下三种:(1)在系统菜单中选择【表单】|【快速表单】命令。(2)单击“表单设计器”工具栏中的“表单生成器”按钮。(3)右击表单窗口,然后在弹出的快捷菜单中选择“生成器”命令。23目录上一页下一页退出2.2.运用表单生成器创建表单运用表单生成器创建表单 【例9-3】运用读者表创建快速表单(quck_reader.scx)。操作步骤如下:第一步,打开表单设计器。第二步,单击“表单”菜单项下的“快速表单”命令;
15、或单击表单设计器工具栏中的“表单生成器按钮”;或在新建的表单上单击鼠标右键,在弹出的快捷菜单中选择“生成器”选项,则出现如图9-13所示的表单生成器对话框。第三步,在表单生成器对话框中单击“字段选取”标签项,选择读者数据表,在字段列表框下选定字段。第四步,单击“样式”标签项,选择表单控件的样式“新奇式” 。第五步,单击“确定”按钮,出现如图9-14所示的表单控件布局窗口,用户可用鼠标对表单控件位置进行适当调整。24目录上一页下一页退出图图9-14 表单控件布局表单控件布局 图图9-13 “表单生成器表单生成器”对话对话框框 选择所需字段,加到“选择字段列表中”运用鼠标操作可调整表单中各控件的位
16、置25目录上一页下一页退出 第六步,单击“文件”菜单项下的“另存为”功能,弹 出 “另 存 为 ”对 话 框 , 输 入 表 单 文 件 名quck_reader.scx,单击“保存”按钮。第七步,单击工具栏中的“运行”按钮,即可运行该表单。 26目录上一页下一页退出四、数据环境四、数据环境1 1打开数据环境设计器打开数据环境设计器表单设计器环境下,单击“表单设计器”工具栏上的“数据环境”按钮,或选择【显示】|【数据环境】命令,即可打开“数据环境设计器”窗口,此时,系统菜单栏上将出现“数据环境”菜单。2 2数据环境的常用属性数据环境的常用属性常用的两个数据环境属性是AutoOpenTables
17、和AutoCloseTables27目录上一页下一页退出3 3向数据环境添加表或视图向数据环境添加表或视图在数据环境设计器环境下,按下列方法向数据环境添加表或视图:在系统菜单中选择【数据环境】|【添加】命令,或右键单击“数据环境设计器窗口”,然后在弹出的快捷菜单中选择【添加】命令,打开“添加表或视图”对话框,如图所示。如果数据环境原来是空的,那么在打开数据环境设计器时,该对话框就会自动出现。选择所需表,单击“添加”28目录上一页下一页退出4 4从数据环境中移去表或视图从数据环境中移去表或视图在“数据环境设计器”窗口中,选择要移去的表或视图,在系统菜单中选择【数据环境】|【移去】命令。也可以用鼠
18、标右键单击要移去的表或视图,然后在弹出的快捷菜单中选择【移去】命令。5 5在数据环境中设置关系在数据环境中设置关系设置关系的方法为:将主表的某个字段(作为关联表达式)拖曳到子表的相匹配的索引标记上既可。如果子表上没有与主表字段相匹配的索引,也可以将主表字段拖动到子表的某个字段上,这时应根据系统提示确认创建索引29目录上一页下一页退出6.6.常用关系属性常用关系属性常用的关系属性有: RelationalExpr:用于指定基于主表的关联表达式。 ParentAlias:用于指明主表的别名。 ChildAlias:用于指明子表的别名。 ChildOrder:用于指定与关联表达式相匹配的索引。 On
19、eToMany:用于指明关系是否为一对多关系,该属性默认为“.F.”,如果关系为“一 对 多 关 系 ”, 该 属 性 一 定 要 设 置 为“.T.”。30目录上一页下一页退出 第三节第三节表单的属性、事件和方法程序表单的属性、事件和方法程序 一、表单属性一、表单属性 表单作为一个对象,也和其它控件对象一样具有属性,表单的属性是表单的特性,可以通过属性窗口或程序语句对其进行设置,表单具有很多属性,其中常用的属性见表9-5。二、表单事件二、表单事件 表单可以对用户启动或系统触发的事件做出响应,例如用户可以在表单的Click事件过程中编写程序,从而单击表单时执行该事件过程。表单的常用事件见表9-
20、6。所有事件方法的运行都是由一种特定事件触发的。 31目录上一页下一页退出表表 9-5 属性描述默认值AlwaysOnTop指定表单是否总是位于其它打开窗口之上.F.AutoCenter居中显示.F.BackColor指定表单窗口的背景颜色255,255,255BorderStyle指定表单边框的风格。3Caption显示于表单标题栏上的文本Form1Closable决定表单的右上角的关闭按钮是否有效.T.DataSession指定表单中的表是在全局能访问的工作区打开(设置值为1)还是在表单自己的工作区打开(设置值为2)1MaxButton确定表单右上角是否有最大化按钮.T.MixButton
21、确定表单右上角是否有最小化按钮.T.Movable确定表单是否能移动.T.Scrollbars指定表单的滚动条类型。可取值为:0(无),1(水平)2(垂直)3(既水平又垂直)0WindowState指定表单的状态:0(正常)1(最小化),2(最大化)0WindowType指定表单是模式表单(设置值为1)还是非模式表单(设置值为0)。在一个应用程序中,如果运行了一个模式表单,那么在关闭该表单之前不能访问应用程序中的其他表单032目录上一页下一页退出事件名说 明Active当表单变成活动的时候就产生该事件。Click当用户单击表单时就产生该事件,从而执行为该事件编写的代码。DblClick当用户双
22、击表单时就产生该事件,从而执行为该事件编写的代码。Destroy当释放该表单时就产生该事件,其代码通常用来进行文件关闭,释放内存变量等工作。Init当创建表单时就产生该事件,其代码通常用来完成一些关于表单的初始化工作。Load在创建表单之前就产生该事件。Unload释放表单时就产生该事件。表表9-6 9-6 表单的常用事件表单的常用事件33目录上一页下一页退出 三、表单常用方法程序三、表单常用方法程序 (1)Release方法:将表单从内存中释放。比如表单有一个命令按钮,如果希望单击该命令按钮时关闭表单,就可以在该命令按钮的Click事件中包含如下代码:ThisForm.Release表单运行
23、时,用户单击表单右上角的关闭按钮,系统会自动执行Release方法。(2)Refresh方法:刷新表单。(3)Show方法:显示表单。该方法将表单的Visible属性设置为.T.。(4)Hide方法:隐藏表单。该方法将表单的Visible属性设置为.F.。与Release方法不同,Hide只是把表单隐藏,但并不将表单从内存释放,之后可用Show方法重新显示表单。34目录上一页下一页退出 四、表单属性窗口四、表单属性窗口 对于表单及表单中的控件,根据用户的需要,可修改其属性值以及事件和方法代码。 在表单的空白处单击鼠标右键,在弹出的快捷菜单中选取“属性”命令,则出现如图9-15右图所示的属性窗口
24、。图9-15表单属性窗口35目录上一页下一页退出 属性窗口共有五个选项卡,其中“全部”选项卡列出了指定对象的全部属性、事件和方法;“数据”选项卡列出了对象如何显示和操纵数据的属性;“方法”选项卡列出了对象的事件和方法;“布局”选项卡显示了所有布局属性;“其它”选项卡显示了对象所属类、类库等其它属性以及用户自定义属性。属性窗口上方有一个对象下拉列表框和若干按钮 1)1)对象下拉列表框对象下拉列表框:用于标识当前选定的对象。 2)2)“ ”按钮(取消按钮按钮(取消按钮):取消更改,恢复以前的值。3)3)“ ”按钮(接受按钮按钮(接受按钮):用来确认对此属性的更改。4)“ x”x”按钮(函数按钮按钮
25、(函数按钮): 打开表达式生成器。设置由函数及表达式返回的值。 5). 5).属性设置框属性设置框: :用于更改属性列表中选定的属性值。 36目录上一页下一页退出五、添加新的属性和方法五、添加新的属性和方法1 1创建新属性创建新属性向表单添加新属性的步骤如下:(2)在“名称”框中输入属性名称(3)有选择地在“说明”框中输入新建属性的说明信息(1)在系统菜单中选择【表单】|【新建属性】命令 ,打开“新建属性”对话框,如图7-13所示。37目录上一页下一页退出2 2创建新方法创建新方法在表单中添加新方法的步骤如下:(1)在系统菜单中选择【表单】|【新建方法程序】命令,打开如图的“新建方法程序”对话
26、框。(2)在“名称”框中输入方法名。(3)有选择地在“说明”框中输入新建方法的说明信息。38目录上一页下一页退出六、布局工具栏和调色板工具栏六、布局工具栏和调色板工具栏 1 1布局工具栏布局工具栏 使用布局工具栏可以对表单上的多个控件对象进行位置和形状的调整。其方法是:按住Shift键后,点击表单上的多个控件,然后单击主菜单栏中的“显示”菜单,在弹出的菜单中选择布局工具栏选项,则出现如图9-16所示的布局工具栏。图9-16布局工具栏39目录上一页下一页退出2调色板工具栏调色板工具栏 使用调色板工具栏可对表单或所选表单上的控件对象进行着色。在表单上同时选择一个或多个控件对象,然后单击主菜单栏中的
27、“显示”菜单,在弹出菜单中选择调色板工具栏选项,即可弹出如图9-17的调色板工具栏。图9-17调色板单击此按钮,所选择对象的前景色改变为所选的颜色。单击此按钮,所选择对象的背景色改变为所选的颜色单击此按钮,可以打开一个颜色面板。40目录上一页下一页退出七、运行单表七、运行单表 1 1在设计时运行表单在设计时运行表单在设计时可采用以下方法运行表单文件:(1)在项目管理器窗口中,选择要运行的表单,然后单击“运行”按钮。(2)在表单设计器窗口中,在系统菜单中选择【表单】|【执行表单】命令,或单击常用工具栏上的“运行”按钮。(3)在系统菜单中选择【程序】|【运行】命令,打开“运行”对话框,然后在运行对
28、话框中选择要运行的表单文件,单击“运行”按钮。(4)在命令窗口输入命令:DOFORM。41目录上一页下一页退出2 2在程序中调用表单在程序中调用表单在程序中调用表单可用下列命令: DO DO FORM FORM NAME NAME 变变量量LINKED LINKED WITH WITH 实实参参1 1,实实参参2 2, TO TO 变量变量 NOSHOWNOSHOW NAME 变量:如果包含NAME子句,系统将建立指定名字的变量,并使它指向表单对象。否则,系统将建立与表单文件名相同的变量,并使它指向表单对象。42目录上一页下一页退出 LINKED关键字:如果包含LINKED关键字,表单和表单对
29、象变量将链接起来,这时,表单对象将随指向它的变量的清除而关闭(释放),否则,即使变量已经清除(如超出作用域,用RELEASE命令清除),表单对象依然存在。但不管有没有LINKED关键字,指向表单对象的变量并不会随表单的关闭而清除。 TO变量:用于从模式表单返回值。 WITH :用于向表单传递参数。 NOSHOW:如果包含NOSHOW关键字,表单运行时将不显示,直到将表单的Visible属性被设置为.T.,或者调用表单的Show方法。43目录上一页下一页退出八、表单与其它程序模块间的通信八、表单与其它程序模块间的通信 1 1将参数传递到表单将参数传递到表单如果要将参数传递到表单,可按如下操作:(
30、1)在表单的INIT事件中,用PARAMETERS定义形参:PARAMETERS param1,param2PARAMETERS param1,param2(2)在表单的INIT事件中可以直接访问参数,如果在表单的其它方法或事件中需要使用该参数,必需在表单的INIT事件中将参数保存到表单的属性或变量中。(3)运行表单时,使用带WITH子句的DOFORM命令,系统会将WITH子句的实参值传递到INIT事件代码的PARAMETERS子句中的各形参。44目录上一页下一页退出 2. 2.从表单返回值从表单返回值只有模式表单可返回值。要从表单返回值可按如下操作:(1)将表单的WINDOWTYPE属性设置
31、为1,使表单成为模式表单,(2)在表单的UNLOAD事件中代码中,包含一个带返回值的RETURN命令。(3)运行表单时,在DOFORM命令中包含TO关键字。3.3.直接访问表单对象直接访问表单对象表单运行后,在其释放前可通过指向表单的变量访问表单对象及表单中所有控件对象。45目录上一页下一页退出九、使用表单集扩充表单九、使用表单集扩充表单 1 1创始表单集创始表单集表单集是一个包含有一个或多个表单的容器。可在“表单设计器”中创建表单集,若要创建表单集,在系统菜单中选择【表单】|【创建表单集】命令。2 2添加和删除表单添加和删除表单添加:添加:在系统菜单中选择【表单】|【添加新表单】命令。删除:
32、删除:(1)在“属性”窗口的对象列表框中,选择要删除的表单。(2)在系统菜单中选择【表单】|【移除表单】命令。如果表单集只有一个表单,可删除表单集而只剩下表单。方法:在系统菜单中选择【表单】|【移除表单集】命令。46目录上一页下一页退出第四节第四节 常用表单控件常用表单控件 一、表单控件简介一、表单控件简介 表单控件主要在表单中使用,在创建每个新表单时,根据系统的默认设置都会弹出表单控件工具栏,否则单击“显示”菜单项下的“表单控件工具栏”选项,也将出现如图9-18所示的表单控件工具栏。 图9-18 表单控件工具栏47目录上一页下一页退出表单控件的基本操作表单控件的基本操作(1)表单控件常见操作
33、。 选择控件:单击控件,被选中的控件四周出现8个控点。要同时选择多个控件时,单击第一个控件,按下Shist键, 再单击其余控件。 移动控件:用鼠标拖动被选中的控件。 调整控件大小:拖动被选中控件上的控点。 复制控件:选中要复制的控件后,再进行“复制”和“粘贴”操作。 删除控件:选择控件后,按Del键。(2)同时添加多个控件 单击控件工具栏上的(按钮锁定)按钮,然后单击要添加的控件按钮,就可以在表单上添加多个此控件,直到再次单击“按钮锁定”按钮(3)快速添加控件 如果从数据环境设计器或数据库设计器或项目管理器中拖动字段、表或视图到表单上,可以快速创建控件。48目录上一页下一页退出二、常用表单控件
34、的属性及事件二、常用表单控件的属性及事件1.1.常用控件的公共属性常用控件的公共属性name:控件的名称,它是代码中访问控件的标识(表单或表单集除外)。Fontname:字体名。Fontbold:字体样式为粗体。Fontsize:字体大小。Fontitalic:字体样式为斜体。Forecolor:前景色。Height:控件的高度Width: 控件的宽度。控件的高度和控件的宽度,也可在 设计时通过鼠标拖曳进行可视化调整。Visible:控件是否显示。Enable: 控件运行时是否有效。如果为 .T.,则表示控件 有效,否则运行时控件不可使用。49目录上一页下一页退出 2. 2. 标签(标签(La
35、belLabel)控件控件 1) 标签控件的功能标签控件的功能标签主要用于显示固定的文本信息。2) 标签控件常用属性标签控件常用属性caption: 指定标签的显示文本。可以在设计时设置, 也可以在程序运时设置或修改。forecolor:设置标题的字体颜色。Backstyle: 设 置 标 签 的 背 景 是 否 透 明 , 0透 明 , 1不 透 明,默认为不透明。name:标签对象的名称,是程序中访问标签对象的标识。Alignment:指定标题控件中显示的对齐方式。50目录上一页下一页退出 3. 3. 命令按钮(命令按钮(CommandButtonCommandButton)控件控件1)
36、命令按钮控件功能命令按钮控件功能命令按钮典型地用来启动某个事件代码、完成特定功能,如关闭表单、移动记录指针、打印报表等。命令按钮51目录上一页下一页退出2)命令按钮控件常用属性命令按钮控件常用属性Default:命令按钮的Default属性默认值为.F.,如果该属性设置为.T.,在该按钮所在的表单激活的情况下,按Enter,可以激活该按钮,并执行该按钮的Click事件代码。一个表单只能有一个按钮的Default属性为真。Cancel:命令按钮的Cancel属性默认值为.F.,如果设置为.T.,在该按钮所在的表单激活的情况下,按Esc键可以激活该按钮,并执行该按钮的Click事件代码。一个表单只
37、能有一个按钮的Cancel属性为真。Caption:设置按钮的标题。Enable:确定按钮是否有效,如果按钮的属性Enable为.F.,单击该按钮不会引发该按钮的单击事件。对命令按钮的使用最重要的是编写Click事件代码。52目录上一页下一页退出 4.4.命令按钮组(命令按钮组(CommandGroupCommandGroup)控件控件1)命令按钮组功能命令按钮组是包含一组命令按钮的容器控件,用户可以单个或作为一组来操作其中的按钮。命令按钮组53目录上一页下一页退出2) 命令按钮组常用属性命令按钮组常用属性Buttoncount:命令按钮组中命令按钮的数目。Value:默认情况下,命令按钮组中
38、的各个按钮被自动赋予了一个编号,如1,2,3,等,当运行表单时,一旦用户单击某个按钮,则Value将保存该按钮的编号,于是在程序中通过检测Value的值,就可以为相应的按钮编写特定的程序代码。如果在设计时,给Value赋予一个字符型数据,当运行表单时,一旦用户单击某个按钮,则Value将保存该按钮的Caption属性值。Buttons:用于存取命令按钮组中每个命令按钮的数组,代码中可以通过该数组访问命令按钮组中的各个按钮.54目录上一页下一页退出 5. 5. 文本框(文本框(TextBoxTextBox)控件控件1) 1) 文本框控件的功能:文本框控件的功能:( 1) 用 于 显 示 或 接
39、收 单 行 文 本 信 息 ( 不 设 置ControlSource属性),默认输入类型为字符型,最大长度为256个字符。(2)用于显示或编辑对应变量或字段的值(设置ControlSource属性为已有变量或字段名)。文本框55目录上一页下一页退出2)文本框控件常用属性)文本框控件常用属性ControlSourceControlSource:设置文本框的数据来源。一般情况下,可以利用该属性为文本框指定一个字段或内存变量。ValueValue:保存文本框的当前内容,如果没有为ControlSource属性指定数据源,可以通过该属性访问文本框的内容。它的初值决定文本框中值的类型。如果为Contro
40、lSource属性指定了数据源,该属性值与ControlSource属性指定的变量或字段的值相同。PassWordCharPassWordChar:设置输入口令时显示的字符。ReadonlyReadonly:确定文本框是否为只读,为“.T.”时,文本框的值不可修改。56目录上一页下一页退出【例9-4】创建一个如图所示的登录窗口,并将 表单保存为FORM2。打开表单设计器,向空白表单中添加二个标签控件、二个文本框控件、二个命令按钮控件,按所示窗口设置表单、标签和命令按钮控件的Caption属性。57目录上一页下一页退出双击“登录”按钮,在登录按钮的单击事件中输入如下代码:if thisform.
41、text1.value=user1” and thisform.text2.value=123456do form mainform form1.releaseelsemessagebox(密码或用户名错误密码或用户名错误,0,提示提示)endif58目录上一页下一页退出双击“取消”按钮,在取消按钮的单击事件中输入如下代码:nAnswer=messagebox(你你决决定定退退出出系系统统吗吗?,4,提示提示)DO CASE CASE nAnswer = 6 thisform.release CASE nAnswer = 7messagebox(“请请输输入入用用户户名名和和密密码码 ,0,提
42、示提示)ENDCASE59目录上一页下一页退出 6. 6. 编辑框(编辑框(EditBoxEditBox)控件控件 1) 编辑框控件的功能编辑框控件的功能用于显示或编辑多行文本信息。编辑框实际上是一个完整的简单字处理器,在编辑框中能够选择、剪切、粘贴以及复制正文,可以实现自动换行,能够有自己的垂直滚动条。编辑框60目录上一页下一页退出2) 编辑框常用属性编辑框常用属性ControlSource: 设 置 编 辑 框 的 数 据 源 , 一 般 为 数 据 表 的 备注字段。Value:保存编辑框中的内容,可以通过该属性来访问编辑框中的内容。SelText:返回用户在编辑区内选定的文本,如果没有
43、选 定任何文本,则返回空串。SelLength:返回用户在文本输入区中所选定字符的数目。Readonly: 确定用户是否能修改编辑框中的内容。Scroolbars:指定编辑框是否具有滚动条,当属性值为时,编辑框没有滚动条,当属性值为(默认值)时,编辑框包含垂直滚动条。61目录上一页下一页退出 7. 7.复选框复选框( (CheckBoxCheckBox) )控件控件1) 复选框的功能复选框的功能用于标识一个两值状态,如真(.t.)或假(.f.)。当处于“真”状态时,复选框内显示一个对勾,当处于“假”状态时复选框内为空白。复选框62目录上一页下一页退出2)复选框常用属性)复选框常用属性Value
44、:用来指明复选框的当前状态,如下表:ControlSource:用于指定复选框的数据源。属性值说明0或.F.(默认值),未被选中1或.T.被选中=2或null不确定,只在代码中有效63目录上一页下一页退出 8. 8. 选项组选项组( (OptionGroupOptionGroup) )控件控件 1) 选项组控件的功能选项组控件的功能选项组又称为选项按钮组,是包含选项按钮的一种容器。一个选项组中往往包含若干个选项按钮,但用户只能从中选择一个按钮。当用户单击某个选项按钮时,该按钮即成为被选中状态,而选项组中的其他选项按钮,不管原来是什么状态,都变为未选中状态,被选中的选项按钮中会显示一个圆点。选项
45、框64目录上一页下一页退出2) 选项组常用属性选项组常用属性ButtonCount:指定选项组中选项按钮的数目。Value:用于指定选项组中哪个选项按钮被选 中。ControlSource:指定选项组数据源。Buttons:用于存取选项组中每个选项的数组。65目录上一页下一页退出【例9-5】命令按钮组、选项组、复选框、编辑框应用示例,按如图所示设计一个表单,要求:用户单击确定按钮时,在编辑框中显示用户对选项组和复选框的选择。并将表单保存为FORM366目录上一页下一页退出编写事件代码:选择命令按钮组,在属性窗口中双击“CLICKEVENT”属性,系统会打开代码编写器,在代码编写器窗口为“CLI
46、CKEVENT”事件输入如下代码:if mandgroup1.value=2thisform.releaseelsecstr=你所在城市你所在城市+chr(13);+thisform.optiongroup1.buttonsthisform.optiongroup1.value.caption+chr(13)cstr=cstr+你的爱好你的爱好+chr(13)67目录上一页下一页退出if thisform.check1.value=1cstr=cstr+thisform.check1.captionendifif thisform.check2.value=1cstr=cstr+thisfor
47、m.check2.captionendifif thisform.check3.value=1cstr=cstr+thisform.check3.captionendifthisform.edit1.value=cstrendif68目录上一页下一页退出 9. 9.列表框(列表框(ListBoxListBox)控件控件 1) 列表框的功能列表框的功能列表框提供一组条目(数据项),用户可以从中选择一个或多个条目,一般情况下,列表框显示其中的若干条目,用户可以通过滚动条浏览其他条目。列表框69目录上一页下一页退出2)选项组常用属性)选项组常用属性RowSourceType:指明列表框数据源的类型。
48、RowSource:指定列表框的数据源,两者常用的搭配如表所示。RowSourceType属性值RowSource属性0-无在程序运行时,通过AddItem方法添加列表框条目,通过RemoveItem方法移去列表框条目无1-值列出在RowSource属性中指定所有数据项可以是用逗号隔开的若干数据项的集合,例如,在设计时,在本属性框中输入:北京、上海、长沙、武汉5-数组列出数组的所有元素使用一个已定义的数组名。6-字段列出一个字段的所有值字段名7-文件列出指定目录的文件清单磁盘驱动器或文件目录8-结构列出数据表的结构表名70目录上一页下一页退出List:用以存取列表框中数据条目的字符串数组。例如
49、,LIST1代表列表框中的第一行(第一个数据项)。ListCount:列表框中数据条目的数目。ColumnCount:指定列表框的列数。Value:返回列表框中被选中的条目。ControlSource:该属性在列表框中的用法与在其他控件中的用法有所不同,在这里,用户可以通过该属性指定一个字段或变量用以保存用户从列表框中选择的结果。Selected:该属性是一个逻辑型数组,第N个数组元素代表第N个数据项是否为选定状态。MultiSelect:指定用户能否在列表框控件内进行多重选定。71目录上一页下一页退出【例9-6】列表框的应用:按下图设计一个表单。要求表单运行时,LIST1列表框显示STUD表
50、的所有字段,单击左箭头按钮时,LIST1中选择的字段加入到LIST2中。72目录上一页下一页退出操作步骤:按图所示在表单中加入二个列表框、二个标签、二个命令按钮。在表单的INIT事件中加入如下代码:thisform.list1.value=0 thisform.list2.value=0open database studentuse studfor i=1 to fcount()thisform.list1.additem(fields(i)nextclose database73目录上一页下一页退出在左箭头按钮(COMMAND1)的CLICK事件中加入如下代码:thisform.list2
51、.addlistitem(thisform.list1.listitemthisform.list1.value)thisform.list1.removeitemthisform.list1.value右箭头按钮(COMMAND2)的CLICK事件代码请用户自己编写。74目录上一页下一页退出 10.10.组合框组合框( (comboBoxcomboBox) )控件控件 组合框与列表框类似,也是用于提供一组条目供用户从中选择,组合框和和列表框的主要区别在于:(1)对于组合框来说,通常只有一个条目是可见的。用户可以单击组合框上的下拉箭头按钮打开条目列表,以便从中选择。( 2) 组 合 框 不 提
52、 供 多 重 选 择 的 功 能 , 没 有MultiSelect属性。(3)组合框有两种形式:下拉组合框(Style属性为0)和下拉列表框(Style属性为2)。对下拉组合框,用户既可以从列表中选择,也可以在编辑区输入。对下拉列表框,用户只可从列表中选择。75目录上一页下一页退出 11.11.表格表格( (Grid)Grid)控件控件 1) 表格控件的功能:表格控件的功能:表格控件用于浏览或编辑多行多列数据。表格76目录上一页下一页退出2 2)表格控件常用属性)表格控件常用属性RecordSourceType:指明表格数据源的类型,RecordSource: 指 定 数 据 的 来 源 ,
53、它 们 取 值 及 含 义 如 表 所示。RecordSourceType属性值RecordSource属性0-表:数据来源由RecordSource属性指定的表,该表能被自动打开表名1-别名数据来源于己打开的表表的别名2-提示运行时,由用户根据提示选择表格数据源3-查询数据来源于查询查询文件名4-SQL语句数据来源于SQL语句SQL语句77目录上一页下一页退出ColumnCount:指定表格的列数。LinkMaster:用于指定表格控件中所显示的子表的父表名称。ChildOrader:指定子表的索引。RelationalExpr:确定基于主表字段的关联表达式AllowAddNew: 为真,运
54、行时允许添加新记录,否则不能添加新记录。AllowRowSizing:为真,运行时用户可改变行高。AllowHeaderSizing:为真,运行时用户可改变列宽。78目录上一页下一页退出3) 3) 常用的列属性常用的列属性ControlSource:指定在列中显示的数据源.CurrentControl:指定列对象中显示和接收数据的控件.Sparse:用于确定CurrentControl属性影响列中的所有单元格还是只影响活动单元格.注意:注意:设计时要设置列对象的属性,首先得选择列对象,选择列对象有两种方法:从属性窗口的对象列表中选择相应列,右击表格,在弹出的快捷菜单中选择【编辑】命令,这时表格
55、进入编辑状态(表格的周围有一个粗框),用户可用鼠标单击选择列对象。79目录上一页下一页退出4) 常用的标头(常用的标头(Header)属性属性列标头也是一个对象,有它自己的属性、方法和事件,设计时要设置标头对象的属性,首先得选择标头对象,选择标头对象的方法与选择列对象的方法类似。CaptionCaption属属性性:指定标头对象的标题文本,显示于列顶部。默认为对应字段的字段名。Alignment属性:指定标题文本在对象中显示的对齐方式。80目录上一页下一页退出5) 调整表格的行高和列宽调整表格的行高和列宽一旦指定了表格的列的具体数目,就可以有两种方法来调整表格的行高和列宽。设置表格的Heade
56、rHeight和RowHeight属性调整行高;设置列对象的Width属性调整列宽。让表格处于编辑状态下,将鼠标指针置于表格两列的标头之间,这时,鼠标指针变为水平双箭头的形状,拖动鼠标,调整列至所需要的宽度;将鼠标置于表格左侧的第一个按钮和第二个按钮之间,这时,鼠标指针变成垂直双箭头的形状,拖动鼠标,调整行至所需要的高度。81目录上一页下一页退出6) 使用表格生成器设计表格使用表格生成器设计表格用鼠标左键右击表格,在弹出的快捷菜单中选择【生成器】命令,打开“表格生成器”对话框,如图所示。“表格项”选项卡:用于设置表格内显示字段“样式”选项卡:指定表格的样式“布局”选项卡:调整行高、列宽;设置列标题;选择控件类型“关系”选项卡:设置一个一对多关系,指明父表中的关键字段与子表中的相关索引82页面控件Pagecount:指定一个页框对象包含的页对象的数量。Pages:属性存取页框中的某个页对象。Tabs:是否显示页面标签。Tabstretch:页面标题显示属性(0,1)。Activepage:返回页框中活动的页号。8384