版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第9章表单与控件第9章表单与控件教学目标表单设计最主要的内容是如何在表单中使用各种常用控件,并充分利用这些控件,开发出功能完善的应用软件。本章详细介绍了Visual FoxPro的表单和常用控件的设计及应用,这部分内容是本章的重点。为了加深理解,本章还介绍了几个完整且实用的案例。第9章表单与控件教学要求知识要点能力要求关联知识表单熟悉表单的属性、事件、方法及应用;表单设计器、数据环境常用容器及控件:标签、命令按钮、文本框、编辑框、列表框与组合框、表格熟悉各类常用容器及控件的属性、事件、方法及应用;能在表单设计中灵活运用各种常用控件表单设计器、表单控件工具栏表单集对象表单集创建及移除表单设计器A
2、ctiveX控件能向表单内添加并使用ActiveX控件ActiveX控件的基本概念9.1表单设计9.1.1表单的属性、事件及方法表单的创建、修改及运行1(1)创建表单创建表单有两种方法,一是利用表单向导,二是使用表单设计器。用表单向导创建的表单能实现数据库管理的最基本的功能。Visual FoxPro在“向导选取”对话框中提供了两种表单向导帮助用户创建表单。“表单向导”用于创建基于一个表的表单;“一对多表单向导”用于创建基于两个具有一对多关系的表的表单。9.1表单设计9.1.1表单的属性、事件及方法表单的创建、修改及运行1(2)修改表单表单建立后,可以用表单设计器进行修改和编辑。若表单属于某个
3、项目,则可以在“项目管理器”中打开表单设计器。具体的步骤为:在“项目管理器”的“文档”选项卡中选中表单,然后单击【修改】按钮。同样,也可以在命令窗口中输入并执行命令对表单进行修改和编辑。命令的格式为:MODIFY FORM 若命令行中的表单文件名不存在,则Visual FoxPro自动打开表单设计器创建一个新表单。9.1表单设计9.1.1表单的属性、事件及方法表单的创建、修改及运行1(3)运行表单可以采用下列方法运行一个已经建立的表单。若表单属于某个项目,则可以在“项目管理器”中运行表单。具体的步骤为:在“项目管理器”的“文档”选项卡中选中表单,然后单击【运行】按钮。若表单已打开并处于“表单设
4、计器”环境下,可以执行主菜单中的【表单】|【执行表单】命令或单击工具栏的【运行】按钮直接运行表单。命令方式调用,命令的格式为:DO FORM 9.1表单设计9.1.1表单的属性、事件及方法表单常用属性2属 性说 明默认值AlwaysOnTop防止其他窗口遮挡表单.F.AutoCenter表单首次显示时,是否在Visual FoxPro主窗口内居中.F.BackColor表单窗口的背景色236,233,216BorderStyle表单边框的样式,共有4种样式:0表示无边框,1表示单线边框,2表示固定对话框,3表示可调边框3Caption表单的标题文本Form1Closable是否能通过双击表单窗
5、口的菜单图标来关闭表单.T.ControlBox运行时表单或工具栏的左上角是否显示窗口菜单图标.T.DataSession指定表单、表单集或工具栏能否在自己的数据工作期中运行,并拥有独立的数据环境1-默认数据工作期MDIForm表单是否为MDI(多文档界面)窗口.F.9.1表单设计9.1.1表单的属性、事件及方法表单常用属性2属 性说 明默认值MaxButton表单是否有最大化按钮.T.MinButton表单是否有最小化按钮.T.Movable表单是否可移动.T.Scrollbars表单具有的滚动条类型,共有4种类型:0表示无滚动条,1表示具有水平滚动条,2表示具有垂直滚动条,3表示既有水平滚
6、动条又有垂直滚动条0WindowState指表单在运行时的状态,共有3种状态:0表示普通,1表示最小化,2表示最大化0WindowTyte指表单在运行时的模式:0表示无模式,1为模式表单。若为模式表单,则用户在访问Windows屏幕中其他任何对象前必须关闭该表单09.1表单设计9.1.1表单的属性、事件及方法表单常用事件及方法3(1)表单常用事件Load 事件:当表单被装入内存时发生。Init 事件:当表单被初始化时发生。Activate 事件:当表单被激活时发生。Destroy 事件:当表单被释放时发生。Unload 事件:当表单被关闭时发生。上述事件被引发的顺序为:Unload、Destr
7、oy。GotFocus 事件:当一个对象通过用户操作或以代码方式得到焦点时发生。Click 事件:当用户用鼠标单击对象或用代码方式引发。DblClick 事件:当用户用鼠标双击对象时发生。Error 事件:当对象方法或事件代码在运行过程中产生错误时发生。9.1表单设计9.1.1表单的属性、事件及方法表单常用事件及方法3(2)表单常用方法Hide 方法:该方法将表单的Visible属性设置为.F. ,使表单不可见,但表单仍在内存中运行。Show 方法:该方法将表单的Visible属性设置为.T. ,在屏幕上显示表单。Release 方法:该方法将表单从内存中释放。Refresh 方法:该方法用于
8、重新绘制并刷新表单或控件。另外表单还有一些与输出有关的常用方法,这些内容将在本章的案例部分作详细介绍。9.1表单设计9.1.2表单设计表单设计器环境1(1)打开表单设计器打开表单设计器的方式有三种。在“项目管理器”中打开:在“项目管理器”的“文档”选项卡中选中表单,然后单击【新建】按钮,调出“新建表单”对话框,再单击【新建表单】按钮。菜单方式:执行主菜单中的【文件】|【新建】命令,调出“新建”对话框,在对话框选中“表单”,然后单击【新建文件】按钮。命令方式:在命令窗口中输入并执行CREATE FORM命令。9.1表单设计9.1.2表单设计表单设计器环境19.1表单设计9.1.2表单设计表单设计
9、器环境1(2)属性窗口表单上的每一个对象都有它自己的外观特点和功能,因此设置控件属性的值是设计表单过程中必不可少的一步。对象属性可以在编程中通过代码设置,但更多的是在“属性”窗口中设置。9.1表单设计9.1.2表单设计表单设计器环境19.1表单设计9.1.2表单设计表单设计器环境1属性设置时要注意以下几点:对于表单及控件的绝大多数属性,其数据类型通常是固定的。若属性的数据类型为字符型,可以在设置框中直接输入字符,不必加界定符,否则系统会将界定符作为字符串的一部分。有些控件的属性在设计时是只读的,用户不能修改。可以选中多个对象,对其共有的属性同时进行设置。若属性值为表达式,设置时在设置框中先输入
10、等号,然后再输入表达式。9.1表单设计9.1.2表单设计表单设计器环境1(3)表单控件工具栏“表单控件”工具栏随着“表单设计器”一起打开。工具栏内包含了用于表单设计的常用容器及控件的按钮图标,用户可以利用该工具栏向表单内添加各种控件。9.1表单设计9.1.2表单设计表单设计器环境1(4)表单设计器工具栏当新建或修改表单时,“表单设计器”工具栏有效。“表单设计器” 工具栏如图9-8所示,共有9个按钮,分别为“设置Tab键次序”、“数据环境”、“属性窗口”、“代码窗口”、“表单控件工具栏”、“调色板工具栏”、“布局工具栏”、“表单生成器”及“自动格式”。9.1表单设计9.1.2表单设计控件的操作与
11、布局2(1)控件的基本操作当控件被放入表单后,经常需要对它的尺寸大小及位置进行调整,涉及到如下几种最基本的操作。选定控件移动控件调整控件的大小复制控件删除控件9.1表单设计9.1.2表单设计控件的操作与布局2(2)控件布局控件在表单内的布局关系到应用程序界面的美观性以及用户使用操作的方便性。可以 单击“表单设计器”的【布局工具栏】按钮打开该工具栏。利用“布局工具栏”,可以调整单个控件在表单内的位置,也可以对多个控件的位置进行各种对齐设置操作。9.1表单设计9.1.2表单设计控件的操作与布局2(3)设置Tab键次序Tab键次序与控件对象“焦点”的概念有关。焦点(Focus)就是光标。当对象具有焦
12、点时,才能响应用户的输入。下面介绍使用该方法的操作过程。(1) 执行【工具】菜单中的【选项】命令,打开“选项”对话框。(2) 选择“表单”选项卡。(3) 在“Tab键次序”下拉列表框中选择“交互”或者“按列表”。9.1表单设计9.1.2表单设计代码设计3代码设计就是按照Visual FoxPro规定的语法规则,为表单上的各个对象可能产生的事件或方法编写语句集合。编写代码在“代码”窗口中进行,可以通过三种方法打开它:(1)左键双击表单上需要建立事件或方法的控件。(2)右击表单上需要建立事件或方法的控件,在弹出的快捷菜单中选择“代码”子菜单。(3)左键单击表单控件工具栏中的“代码”窗口工具按钮。9
13、.1表单设计9.1.2表单设计数据环境4(1)打开数据环境设计器(2)从数据环境中移去表或视图(3)数据环境的常用属性(4)在数据环境中设置联系(5)向表单添加字段9.2容器与控件9.2.1标签控件它有以下几个常用属性:(1)Name:设置标签的名称。(2)Caption:设置标签的标题,即用来作提示的文本。(3)FontName:设置标题文字的字体名称。如:宋体、隶书。(4)FontSize:设置标题文字的大小,字号越大,文字尺寸越大。(5)FontBold:设置标题文字是否为粗体,结果为逻辑值.T.(粗体)和.F.(普通,为系统默认值)。(6)FontItalic:设置标题文字是否为斜体,
14、结果为逻辑值.T.(斜体)和.F.(普通,为系统默认值)。(7)FontUnderLine:设置标题文字是否有下划线,结果为逻辑值.T.(有下划线)和.F.(系统默认值)。9.2容器与控件9.2.1标签控件(8)AutoSize:设置标签的大小是否随标签上所显示文本的大小而自动调整,系统默认值为.F.,即不调整,若设为.T.,则自动调整。(9)BackStyle:设置标签的背景式样,有两种属性值,分别为0(透明)和1(不透明,系统默认值)。(10)BorderStyle:设置标签的边框式样,有两种属性值,分别为0(无边框,系统默认值)和1(单线边框)。(11)Alignment:设置标题文本在
15、控件中显示的对齐方式,有三种属性值,分别为0(左对齐,为系统默认值)、1(右对齐)、2(居中)。(12)WordWrap:设置标题文本是否换行,结果为逻辑值.T.(自动换行)和.F.(不换行,为系统默认值)。(13)BackColor:设置标签的背景色。(14)ForeColor:设置标签的前景色,即标签文本的颜色。(15)Visible:设置标签是否可见,系统默认值为.T.,即可以看见。该属性值设为.F.时,标签隐藏后不可见。9.2容器与控件9.2.2命令按钮(1)Caption:设置命令按钮的标题,即设置命令按钮上的提示信息。(2)Picture:设置命令按钮运行时显示的图像。(3)Ena
16、bled:设置命令按钮是否有效,系统默认值为.T.,即可以用于触发事件。该属性值设为.F.时,命令按钮以浅色显示,表明此命令按钮不可使用。(4)DownPicture:设置命令按钮按下时的图像。(5)DisablePicture:设置命令按钮无效时的图像。当该按钮的Enabled属性值为.F.时,显示预先设置的图像。(6)Default:默认确定按钮属性,系统默认值为.F.。该属性值设为.T.时,其功能与回车键相同,触发同一事件。(7)Cancel:默认取消按钮属性,系统默认值为.F.。该属性值设为.T.时,其功能与“Esc”键相同,触发同一事件。9.2容器与控件9.2.3命令按钮组命令按钮控
17、件的所有属性对于命令按钮组都适用,另外它还有自己特有的属性:(1)ButtonCount:设置命令按钮组中命令按钮的个数,系统默认为2个。(2)Buttons:用于存取命令按钮组中各按钮的数组。该属性数组在创建命令按钮组时建立,用户可以在程序代码中利用该数组为各个按钮设置其属性或调用其方法。(3)Value:设置命令按钮组中哪个命令按钮被选中,其返回值如果是数值型(为系统默认值),则表示命令按钮组中第几个命令按钮被选中;如果是字符型,则表示命令按钮组中Caption属性值与Value属性值相同的命令按钮被选中。9.2容器与控件9.2.3命令按钮组9.2容器与控件9.2.4文本框(1)Contr
18、olSource:为文本框设置一个与其绑定的数据源,一般指定一个字段或内存变量。(2)Value:用来接收输入的数据,并在文本框中显示出来,或返回文本框当前内容。(3)PasswordChar:设置占位符号,系统默认为空串,此时文本框显示用户输入的数据。(4)InputMask:设置文本框输入和显示数据的格式。9.2容器与控件9.2.4文本框模式符功 能X允许输入任何字符9允许输入数字和正负号#允许输入数字、空格和正负号$在固定位置上显示当前货币符号(由SET CURRENCY命令指定)$在数值前面相邻的位置上显示当前货币符号(浮动货币符)*在数值左边显示“*”符号设置小数点的位置,分隔小数点
19、左边的数字串9.2容器与控件9.2.5编辑框(1)ReadOnly:设置只读属性,即用户是否能修改编辑框中的内容。系统默认属性值为逻辑值. F. ,当属性值设置为.T.时,不允许用户修改。(2)HideSelection:当编辑框失去焦点时,编辑框中选定的文本是否仍为被选状态。系统默认值为逻辑值.T.。(3)SelStart:返回在编辑框中所选文本的起始位置或插入点位置,没有选定文本也可以返回要选定文本的起始位置或插入点位置。(4)SelLength:返回在编辑框中所选文本的字符数目,或设置要选定文本的字符数目。(5)SelText:返回在编辑框中所选的文本,若未选任何文本,则返回空串。(6)
20、ScrollBars:文本的长度超过编辑框的大小,可设置该属性值为2,即添加一个垂直滚动条。系统默认值为0,不加滚动条。9.2容器与控件9.2.5编辑框9.2容器与控件9.2.6列表框(1)RowSourceType与RowSource属性:RowSourceType属性设置列表框中数据源的类型,RowSource属性设置该类型的数据源。(2)List:返回在列表框中指定行、列的列表项数值。(3)ListCount:返回列表框中列表项的个数,此属性只在代码中使用。(4)ColumnCount:设置列表框中显示列表项的列数。(5)Value:返回在用户在列表框中所选择列表项的数值。该属性若是数值
21、型,则返回被选项在列表框和组合框中的次序号;若是字符型,则返回被选项的具体值。(6)Selected:设置或返回列表框中某一列表项是否被选中,结果为.T.表示已被选中,为.F.则表示未被选中(系统默认值)。(7)MultiSelect:指定用户能否在列表框控件中进行多重选择。(8)ListIndex:设置或返回列表框中显示的列表项序号。9.2容器与控件9.2.7组合框组合框与列表框类似,也是列出相关选项以供用户选择。上面介绍的有关列表框的属性及方法,组合框也同样具有。组合框与列表框的主要区别在于:(1)组合框只显示一个选项,用户可以单击组合框的下拉箭头按钮打开选项列表。(2)组合框不提供多重选
22、择功能,没有MultiSelect属性。(3)组合框有下拉组合框和下拉列表框两种形式,用户可以通过设置Style属性选择。9.2容器与控件9.2.8表格第一种方法是在表格编辑状态下操作。进入表格编辑状态的方法是:(1)在表格属性窗口中设置表格的列数;(2)右键单击表格对象,打开快捷菜单,执行【编辑】命令。第二种方法是是使用表格生成器。打开表格生成器的方法是右击表格对象,打开快捷菜单,执行【生成器】命令。表格设计基本操作19.2容器与控件9.2.8表格(1)RowSourceType与RowSource属性:RowSourceType属性设置表格中数据源的类型。RowSource属性设置该类型的
23、数据源。(2)ColumnCount:设置表格的列数。该属性的默认值为-1,此时表格将创建足够的列数来显示数据源中的所有字段。表格常用属性29.2容器与控件9.2.9复选框复选框常被用于在表单中列出项目选项,用户可以从中选择多个选项。它有以下几个常用属性。(1)Value:用于设置复选框状态属性,返回值有三种情况:0表示清除;1表示选定;2表示灰色状态。(2)Style:用于设置复选框外观属性,返回值有两种情况:0为标准样式,1为图形样式。9.2容器与控件9.2.10选项按钮组选项按钮组有以下几个常用属性:(1)Value:设置哪个按钮被选中。可以为数值型,表示选项按钮组中第几个选项按钮被选中
24、。也可以为字符型,表示选项按钮组中Caption属性值与Value属性值相同的选项按钮被选中。(2)ButtonCount:设置选项按钮组中选项按钮的数目,系统默认为2个。(3)ControlSource:指定与选项按钮组建立关联的数据源。选项按钮组的属性也可以用“选项组生成器”设置。它有三个选项卡,分别是:“按钮”选项卡、“布局”选项卡和“值”选项卡。它们的功能与“命令组生成器”和“列表框生成器”中的相关选项卡功能相同,此处就不再重复。9.2容器与控件9.2.11计时器计时器能实现定时功能。它只有一个Timer事件,由系统时钟控制和触发。如果用户希望定时实现某一功能,只需在Timer事件的过
25、程中放入程序代码即可。计时器有以下几个常用属性:(1)Interval:设置计时器Timer事件的触发时间间隔,单位为毫秒,系统默认值为0。(2)Enabled:是否有效属性,系统默认值为.T. ,即控件有效,可以计时。若该属性值设为 .F.时,计时器不可使用,Timer事件不执行。计时器在程序执行时是不可见的,因此在设计表单时,可以放在任何位置。计时器的大小是系统默认的,不可改变。9.2容器与控件9.2.12微调控件微调控件是用来在一定范围内接受输入的数据,或对当前显示值作相应的调整。调整的方法有以下几种:(1)单击微调控件的上、下箭头来调整当前值。(2)更改微调控件前的填充数值。微调控件常
26、用的属性有以下几个:(1)Value:显示或接收微调控件的当前值。(2)KeyBoardHighValue:设置微调控件接收键盘输入数据的上限。(3)KeyBoardLowValue:设置微调控件接收键盘输入数据的下限。(4)SpinnerHighValue:设置微调控件上箭头调整数据的上限。(5)SpinnerLowValue:设置微调控件下箭头调整数据的下限。(6)Increment:设置单击微调控件的上、下箭头来调整当前值时的增、减数。9.2容器与控件9.2.13图像、线条、形状图像控件可以用来装载和显示图片,文件类型.bmp、.ico、.gif、.jpg等。常用的属性有两个:(1)Pi
27、cture:设置显示的图形文件。方法是在“属性”窗口中通过使用“打开”对话框选择图形文件名。在对话框中用户还可以预览所要装载的图片。(2)BackStyle:设置图像控件的背景类型,为0时背景透明,为1时背景不透明。图像19.2容器与控件9.2.13图像、线条、形状形状控件常用的属性有以下几个:(1)BackColor:方框或圆的边界颜色。(2)FillColor:方框或圆的填充颜色。(3)FillStyle:方框或圆的填充图案。共有8个选项,其中为0时图案填充线为实线,为1时透明(默认值),为2时填充线为水平线,为3时填充线为垂直线。(4)Curvature:设置形状控件角的曲率,其值从09
28、9。值为0时是矩形,为99时是圆形。形状控件还有一个常用的方法:Move:移动所设置的控件到新位置。图像、线条和形状控件通常用于表单界面的辅助设计。线条和形状29.2容器与控件9.2.14表单集当应用软件规模较大,若系统运行时各个表单之间存在频繁的信息交流,可以把相互有关联的表单放在一个表单集中,以便同时处理它们。表单集中包含着表单,所以它也是一个容器对象。使用表单集有以下几个优点:(1)可以同时显示或隐藏表单集中的全部表单。(2)可以可视地调整多个表单以控制它们的相对位置。(3)可以自动地同步改变多个表单中的记录指针。如果在一个表单的父表中改变记录指针,另一个表单中子表的记录指针则被同步更新
29、。9.2容器与控件9.2.14表单集创建表单集19.2容器与控件9.2.14表单集添加、移除表单2在“表单设计器”中,执行【表单】菜单中的【添加新表单】命令,可以往表单集中添加表单。执行【表单】菜单中的【移除表单】命令,可以移除表单集中已经存在的表单。9.2容器与控件9.2.14表单集移除表单集3当表单集中只包含一个表单时,执行【表单】菜单中的【移除表单集】命令,可以移除表单集。表单集移除后表单还存在。9.2容器与控件9.2.14表单集释放表单集4释放表单集有两种方法:(1)使用命令RELEASE THISFORMSET来释放表单集,并关闭其中的所有表单。(2)当表单集的AutoRelease
30、属性为 .T. 时,表单集中的最后一个表单释放时,则表单集自动释放。 9.2容器与控件9.2.15ActiveX控件ActiveX控件概述1ActiveX控件的功能是向应用程序中添加OLE对象,所以它又称为OLE控件。OLE是对象链接与嵌入的缩写(Object Linking and Embedding),即把一个对象以链接或嵌入的方式包含在其他应用程序之中。通过ActiveX控件,用户可以在Visual FoxPro的应用程序中使用其他的Windows应用程序,如Word、Excel等。9.2容器与控件9.2.15ActiveX控件ActiveX控件概述1文 件控 件ComCtl232.ocxAnimation控件、Datetimepicker控件、Monthview控件Updown控件Foxhwnd.ocxVisual FoxPro HwND控件Foxtlib.ocxVisual FoxPro Foxtlib控件MCI32.ocxMultimedia MIC控件Mschart20.ocxMsChart控件MSCo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年教育机构时间管理工具应用
- 2026年物业绿化养护四季工作标准与要点
- 风险应对2026年融资合同协议
- 国际贸易旅游服务合作协议
- 2026年农村旧房翻新中的照明设计与氛围营造
- 2026年建筑节能改造过程与经验分享
- 防损员团队协作培训服务合同
- 2026年企业绿色发展跨部门协作机制
- 肝素衍生物靶向胞外组蛋白:对脓毒症免疫抑制小鼠的保护机制与疗效探究
- 肝硬化患者自发性细菌性腹膜炎与细菌性腹水的多维度对比及临床启示
- 统编(2024)八年级历史下册第17课推进国防军队建设和外交工作【课件】
- 2026年灭火器年检与充装更换管理
- (三模)济南市2026届高三5月针对性训练英语试卷(含答案)
- 2026重庆市航空应急救援总队航空应急救援专职人员招聘34人笔试模拟试题及答案解析
- 《电力重大事故隐患判定标准及治理监督管理规定》深度解读
- 2026年上海市金山区初三二模语文试卷
- 2026庐山云雾茶产业集团有限公司社会招聘工作人员16人备考题库及答案详解(新)
- 第二单元《第2课 律动青春》教学设计- 人教版(2024)初中美术七年级下册
- 2026年人工智能训练师(五级)综合技能真题题库
- 2026山东省科创集团有限公司权属企业招聘13人笔试历年典型考点题库附带答案详解
- 2026中医医师定期考核题库(附答案)临床真题(附答案)
评论
0/150
提交评论