《等级考试表单与控件.ppt》由会员分享,可在线阅读,更多相关《等级考试表单与控件.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第6 章 表单设计与应用1本章主要内容l 表单的使用l 常用控件的使用 标签、文本框、编辑框、微调框、复选框、选项按钮、列表框、组合框、表格、页框、命令按钮、命令按钮组、计时器等。表单和控件l 表单(Form)是一个容器类,由一个或多个页面组成,每个页面又可包含多个控件对象。l 控件(Control)是放在表单上用以显示数据、执行操作或使表单更易阅读的一种图形对象。l 表单和控件是可视化编程的集中体现所在,是组成应用程序的不可缺少的元素。选择合适的控件l 选项按钮组、列表框、下拉列表框、复选框等可为用户提供一组预先设定的数据选项;l 文本框、编辑框、组合框等可让用户输入预先不能确定的数据;l
2、微调框可让用户输入给定范围的数值型数据;l 命令按钮或命令按钮组可以让用户进行特定的操作;l 计时器可以在给定的时间间隔内执行指定的操作;l 表格控件可以操作多行数据;l 标签、文本框等可以显示信息。创建表单l 表单文件:.SCX、.SCTl 表单向导 表单向导:为单个表创建操作数据的表单。一对多表单向导:为两个相关表创建操作数据的表单。两个表之间一定要存在关系,生成的表单中的记录定位按钮只作用于父表,子表记录可通过窗口操作控制。l 表单设计器l 快速表单l 编程方法表单的数据环境l 数据环境是表单的一部分,并没有自己独立的存储空间。l 引入数据环境的目的:打开或运行表单时它自动地打开表单所基
3、于的表或视图;将表单属性窗口中的ControlSource 属性与数据环境中的所有字段相连;关闭或释放表单时自动地关闭表和视图。l 在创建表单时,可以先设置表单的数据环境,以确定表单所用到的表和视图。注意:一个表单的数据环境中可以没有表或视图给表单(集)添加属性和方法程序l 用户可以根据需要为表单(集)添加任意个数的属性和方法程序。l 创建新属性:在“表单设计器”中,表单 新建属性。新建属性的默认值为逻辑值.F.。新建的属性可以为数组。如:ABC4,7l 创建新方法程序:表单 新建方法程序 调用自定义的方法程序与调用基类方法程序一样。设置表单与所包含对象的属性l 在“属性”窗口中设置属性,属性
4、值更改后以粗体显示。l 一般步骤:选定对象 在“属性”窗口中选择属性 在“属性”设置框中设置属性值或利用函数按钮设置。l 注意点:部分属性值是只读的。(斜体显示)字符型属性值不必用引号括起来。若用表达式赋值,则要在表达式前加上“=”。l 技巧:可以为一组对象设置同一属性值。表单的常用属性属 性 名 取 值 作 用 Name 字 串表单名 Caption字 串 表单标题/窗口标题AutoCenter.T.F.为真时,表单居中打开Closable.T.F.是否可以用控制菜单和按钮关闭窗口Windowstate 0,1,2表单的初始状态:0:普通;1:最小化;2:最大化表单的常用属性属 性 名 取
5、值 作 用 BackColor RGB三色表单背景色 Movable 逻辑值 控制表单是否移动到屏幕的新位置MaxButton逻辑值 控制表单是否有最大化按钮MinButton逻辑值 控制表单是否有最小化按钮ControlCount数 值 决定表单中的控件数目表单的常用属性属 性 名 取 值 作 用 ShowWindow数 值0:在屏幕中1:在顶层表单中2:作为顶层表单 WindowType数 值0:无模式 1:模式ControlBox.T.F.是否显示控制菜单BorderStyle数 值 表单的边框类型AlwaysOnTop.T.F.表单是否总处在其他打开窗口之上表单的保存和运行l 表单的保
6、存 表单文件:.SCX、.SCT 本质上是表文件 表单可以另存为类l 表单的运行“项目管理器”中运行“表单设计器”中运行 命令:DO FORM 表单文件名常用控件介绍l 标签(Label)标签控件可以用于表单上的标题文字、数据输入框的提示、操作说明等。是用于显示文本的图形控件,其中的文本不能被用户直接修改,通常用于显示提示信息。其属性主要有 Caption:标题,最多256 个字符。BackStyle:设置标签背景是否透明。AutoSize:确定是否可以自动地调整标签大小。WordWrap:确定标签上的文本能否换行。Alignment:指定与控件相关联的文本对齐方式。Fontsize:指定Ca
7、ption 中字体的大小。FontName:设置字符类型。Visible:运行时标签是否可见。Name:标签控件的名字。标签命令按钮l Cancel 指定一个按钮是否为Cancel 按钮,如果是,那么一旦按ESC 键,就会触发它的Click 事件。l Default 指定一个按钮是否为Default 按钮,如果是,那么一旦按Enter 键,就会触发它的Click事件。l 例如,给退出命令控件的Click 事件指定Thisform.Release 方法,如在表单运行时单击退出按钮,则释放表单。l Enabled 选择.T.表示可用的。文本框(TextBox)l 可以显示、输入、编辑非备注型字段的
8、数据。l 文本框的常用属性有:ControlSource:指定与文本框绑定的数据源。如果设置了文本框该属性,则显示在文本框中的值将保存在文本框的Value 属性和ControlSource 属性指定的表字段中。Value:指定文本框当前选定的值。文本框 InputMask:指定数据的输入格式和显示方式。Format:指定Value 属性的输入和输出格式。ReadOnly:文本框是否只读。PasswordChar:显示口令字符。编辑框(EditBox)编辑框与文本框的用途相似;编辑框可以输入或编辑长字段或备注型字段;编辑框允许自动换行并能用光标移动键、操作滚动条来浏览文本;ScrollBars:
9、决定编辑框是否有垂直滚动条。ControlSource:指定与编辑框绑定的数据源。常设定为表中备注型字段。复选框主要属性有:ControlSource:如果设置为表中的逻辑型字段。当前记录值为“真”时,选中;“假”时,未选中;当前记录为空值时复选框显示为灰色。Caption:标题属性。Value:指定当前值。0 或.F.(未选中),1 或.T.(选中),2 或NULL(灰色)。列表框(ListBox)l 列表框显示一列数据,用户可以从中选择一个数据存入到指定变量中。其主要属性的使用如下:l ColumnCount 规定列表框的列数。l ControlSource 指定用户操作数据保存的变量。l
10、 Multiselect 用户能否在列表中一次选择一个以上的数据项。l RowSource 列表中显示的值的来源,受RowSourceType 属性的影响。列表框与组合框的使用l List(i)取得第几项的内容。l ListCount 取得列表共有多少项。l RowSourceType 确定RowSource 是属于一个值、表、SQL 语句、查询、数组、文件列表还是字段。l Selected(i)判断第i 项是否被选中。l 组合框具有列表框和文本框的功能。实际上是将这两种框的功能结合成一个控件,因此具有这两种控件的属性。同时还具有:l Style 属性 指定组合框的类型,0 则创建一个下拉式组
11、合框;1 或2 创建一个下拉式列表框。在列出的选项中可以包含一个斜杠,表示该项是空行。l 通过RowSourceType 和RowSource 属性的不同值控制用不同数据源中的项,填充列表框供用户选择。组合框列表框与组合框的使用RowSourceType 的属性值所对应的含义为:l(1)取值为0 时,表示无初始数据项,由程序向列表中添加项。由AddItem 和RemoveItem 方法添加或删除数据项。例如在当前表单上有一个lis1 列表框,在表单init事件中通过下列命令给列表框添加二个项,分别是A、B。l thisForm.lis1.RowSourcetype=0l thisForm.li
12、s1.AddItem(“A”)l thisForm.lis1.AddItem(“B”)l 可以通过RemoveItem 方法从列表框中移去数据项。注意additem()的参数是字符,而removeItem()的参数是数值,即列表的索引下标。l【例如】移去数据B 项,则执行:l thisForm.lis1.RemoveItem(2)列表框与组合框的使用l(2)取值为1 时表示为值,可用RowSource 属性指定多个将在列表中显示并供选择的项。可以在设计或运行时使用。设计时,选项输入在rowsource 属性,各项之间用逗号分隔。l【例如】在运行时设置为A、B、C、D 四项。则执行:l this
13、Form.lis1.RowSourceType=1l thisForm.lis1.RowSource=“A,B,C,D”l(3)取值为2 时,表示别名。可以在列表框的列表中包含当前打开的一个或多个字段的值。由Columncount 属性设置数据源表中的字段。其值为0 或1 表示数据源表中的第一个字段,其他数值是数据源表中第一个字段到指定值顺序号,例如,该值是,表示第1 个到第3 个字段,即有三个字段的值。因此Columncount 属性值必须小于或等于数据源表中的字段个数。列表框与组合框的使用l(4)取值为3 时,表示SQL 语句。RowSource属性中指定一个SELECT-SQL 语句。由
14、该语句查询的结果作为数据选择源。SQL 语句在RowSource 属性中用引号对括起来。l(5)取值为4 时,表示查询。指定用查询的结果填充列表框的选择数据项。因此在RowSource 属性中输入查询文件名全称。l(6)取值为5 时,表示数组。用数组中的项填充列表项。数组可以在表单上的控件上定义一个数组属性,或者在表单外事先定义一个数组,并在执行控件之前给数组赋值。l l(7)取值为6 时,表示字段。可以指定一个字段或用逗号分隔的一系列字段值填充列表。例如,用学生的学号字段。指定字段的表必须打开(可以通过数据环境自动打开)。在指定字段时可以用下述几种方式:l 字段名l 别名.字段名l 别名.字
15、段名,字段名.列表框与组合框的使用l(8)取值为7 时,表示文件。用当前目录下的文件目录填充。而且,列表中允许选择不同的驱动器和目录,并在列表中显示其中的文件名。可在RowSource 属性中设置列表中显示的文件类型的扩展名。可用通配符表示一类文件。l(9)取值为8 时,表示结构。用rowsource 属性指定表中的字段名来填充列表并供用户选择。l(10)取值为9 时,表示弹出式菜单。可以用一个先前定义的弹出式菜单来填充列表。包含这一项是为了提供向后兼容性。l 从列表向表中输入数据时,如果列表的ControlSource 属性设置为表的字段,那么用户在列表中选择的项将会写入当前记录中。l 也就
16、是说,在数据环境中添加了两个表,并且这两个表之间建立了父子关系;而列表控制的数据是父表中的主关键字数据。命令按纽组(CommandGroup)l 完成某项功能的操作代码通常放置在命令按钮的Click(单击)或Dblclick(双击)事件中。命令按钮组容器是由命令按钮组成,命令组内的每个命令按钮独立设计和操作,也可互相控制。l(1)命令按钮的主要属性。l Caption 指定命令按钮面上的提示内容。l Enabled 规定能否使用此按钮。命令按纽组l(2)命令按钮组的主要属性。l ButtonCount 属性确定组中命令按钮的数目。l Caption 确定按钮组的说明标签。l Buttons(i
17、)运行属性,数组,通过它可以引用命令按钮组中的每个按钮。表格(Grid)l 表格是一个容器,由列组成。一个表格可以绑定一个表,表格的列则对应表中的字段。每个列由标头和数据控件组成,标头相当于表的字段名,控件用于控制操作数据。l 在表单设计中往往使用表格作为一对多表关系中的子表,而父表则用相应控件独立操作。l 表格控件的主要属性:l ColumnCount 设定表格列的个数。l Columns(i)引用表格中的第i 列。l DeleteMark 指定表格是否具有删除标记栏。l RecordSourceType 属性设置数据来源类型,0表示表名指定;1 表示别名指定;3 表示查询文件;4 表示SQ
18、L 语句。l RecordSouce 根据RecordSourceType 的类型来设定数据源。l Readonly 指定表格中的数据是否只读。表格l 表格设计时,在确定表格的列个数后系统自动给每个列生成一个标头控件和文本框控件。标头控件设置列的名称,由caption 属性规定。每列内的数据控件可以添加若干个。系统默认TextBox控件为可操作控件。如果需要改成用户定义的控件,则修改列的currentcontrol 属性值为操作控件名称。如果需要删除列内的控件,则先通过属性窗选中该控件,然后按Delete 键。微调按纽(Spinner)l 微调的主要属性有:l ControlSource 设定
19、微调按钮和数值型字段进行绑定。l Increment 规定单击或按钮时增减的幅度值,如每次改0.1,则该属性值为0.1。l KeyboadHighValue 键盘输入的最高值。l KeyboadLowValue 键盘输入的最低值。l SpinnerHighValue 鼠标单击输入的最高值。l SpinnerLowValue 鼠标单击输入的最低值。选项按钮组(OptionGroup)l 选项按钮组的主要属性如下。l AutoSize 确定选项按钮组的大小是否按组内按钮个数和提示内容来确定。这是一个逻辑值,真(.T.)自动缩放,假(.F.)按设计大小显示。默认为假。l ButtonCount 设置
20、选项按钮个数。例如,设置为4,用于单项选择类试题的选择操作,操作结果保存在指定变量中。l Value 判断当前选定的按钮。如果选定了第三个按钮,则选项按钮组的Value 属性值是3。如果没有选择,则其值为0。计时器(Timer)计时器是在应用程序中用来处理反复发生的事件的控件。该控件在运行时不可见,用于后台处理。主要属性 Enabled:取值为“.T.”时,计时器在表单加载时就开始工作。Interval:引发Timer 事件之间的时间间隔,以毫秒为单位(1 秒=1000 毫秒)。决定事件发生的频率。Interval 的值为0 时,不触发Timer 事件。计时器 Timer 事件:计时器周期发生
21、的事件。Reset 方法可重置计时器控件,让它从0 开始。页框(PageFrame)页框是包含页面的容器对象。包含若干页,所有能放到表单上的控件都可以放到页框的页面中。对页面所在的表单使用Refresh 方法时,只刷当前活动的页面。增强控件的易用性l 设置控件的“Tab 键次序”TAB 键次序是指在表单上按下TAB 键时,焦点从一个对象移到另一个对象的次序。表单的TAB 键次序决定了控件选择的顺序。系统默认的TAB 键次序是控件添加到表单上的次序。设置T AB 键次序ShowWindow 和DeskTop 属性设置l 此两属性可设置顶层表单、浮动表单或子表单。l ShowWindow 属性值:
22、0-在屏幕中:表单为子表单且父表单为VFP 主窗口(默认值)。1-在顶层表单中:表单为子表单且父表单为活动的顶层表单。2-顶层表单:表单是可以包含子表单的顶层表单。l DeskTop 属性值:.T.:表单可放在Windows 桌面的任何位置。.F.:表单包含在VFP 主窗口中(默认值)。补充属性l ControlCount:指定容器对象中控件的数目。l FormCount:指定表单集中表单的数目。l Exclusive:指定与cursor 对象关联的表是否以独占方式打开。l Filter:排除不满足指定表达式条件的记录。l Icon:指定表单左上角显示的图标。l Order:为一个临时表对象指
23、定主控索引标识。补充属性l ReadOnly:指定用户能否编辑控件,或指定与cursor 对象关联的表或视图是否允许更新。l Visible:指定对象是可见还是隐藏。l Sizable:指定在运行时用户是否可以调整工具栏的大小。l Resizable:指定列对象的大小能否在运行时由用户调节。容器对象的集合属性和计数属性l 集合属性:是数组,用以引用每个包含在其中的对象。l 计数属性:表明容器所包含的对象的数目。容器 集合属性 计数属性 备注_SCREEN、表单集 Forms FormCount只读表单、页面、列、工具栏、容器Controls ControlCount页框 Pages PageCount可读写表格 Columns ColumnCount命令组、选项组 Buttons ButtonCount