一、标签
标签能够显示多个字符构成的文本,用于设计表单上所需的文字性提示信息。标签和大多数控件的不同点在于运行表单时不能用《tab》键来选择标签。 常用的标签属性及其作用如下。
1、 Caption:确定标签处显示的文本。 2、 Visible:设置标签可见还是隐藏。
3、 AutoSize:确定是否根据标签上显示文本的长度,自动调整标签大小。 4、 BackStyle:确定标签是否透明。
5、 WordWrap:确定标签上显示的文本能否换行。 6、 FontSize:确定标签上显示文本所采用的字号。 7、 FontName:确定标签上显示文本所采用的字体。 8、 ForeColor:确定标签上显示的文本颜色。 二、命令按钮和命令按钮组
在各种窗口或对话框中几乎都要使用一个或多个命令按钮。一旦用户单击一个命令按钮,就可实现某种规定的操作。例如,各种对话框中的“确定”按钮,当用户单击时将结束对话框的操作。
VisualForPro中的命令按钮控件同样用于完成特定的操作。操作的代码通常放在命令按钮的“单击”事件(即Click Event)代码中。这样,运行表单时,当用户单击命令按钮时便会执行Click事件代码。如果在表单运行中,某个命令按钮获得了焦点(这时,这个命令按钮上会比其他命令按钮多一个线框),则当用户按下《Enter》键或空格键时,也会执行这个命令按钮的Click时间代码。 常用的命令按钮属性及其作用如下: 1、 Caption:设置在按钮上显示的文本。
2、 Default:在表单运行中,当命令按钮以外的某些控件(如文本框)获得焦点时,若
用户按下《Enter》键,将执行Default属性值为.T.的那个命令按钮的click事件代码。 3、 Cancel:如果设置该属性值为.T.,则当用户按下
事件的代码。
4、 Enabled:指明按钮是否失效,即是否被选择。当Enabled属性值为.f.时,用户无法
选择该按钮。
5、 DisabledPicture:指定按钮失效时在按钮上显示的.bmp文件。 6、 DownPicture:指定在按钮按下时按钮上显示的.bmp文件。 7、 Visible:指明按钮是否可见。
8、 Picture:指明显示在按钮上的.bmp文件。
命令按钮组时一组命令按钮,是容器对象。使用命令按钮组便于对一组命令按钮进行统一操作和设置。命令按钮组的ButtonCount属性值,决定组中命令按钮的个数。表单运行时,当用户单击组中某个命令按钮时,命令按钮组的Value属性可以返回所单击按钮的序号。若要单独设置组中的某个命令按钮的属性,可以使用命令按钮组的快捷菜单中的“编辑”命令选择某个按钮,在“属性”窗口中设置其属性。若为组中某个按钮的Click事件写了代码,当单击这个按钮时,将执行该按钮的Click事件代码而不是组的Click事件代码。 三、选项按钮组
选项按钮组是常用的一种控件,用在各种对话框中,让用户从给定几个操作中选择一个。例如“文件”菜单中“新建”菜单项打开“新建”对话框,该对话框中有一个标题为“文件类型”的选项按钮组,让用户选择建立哪一种类型的文件。
1 / 9
选项按钮组是包含若干选项按钮的容器。一个选项按钮组中默认包含两个选项按钮。改变组的ButtonCount属性可以设置选项按钮数目。
如果设计表单时不设置value属性值,即在默认情况下,该属性值是1(默认选定第一个按钮)。运行表单时,value属性值能够返回用户所选定的按钮的序号。如果在运行表单之前将vaule属性改变为超出按钮序号的数值,则运行表单时只有在用户做了选择后,Value属性返回被选中的选项按钮的标题。
若把组的ControlSource属性设置为某个表或视图的一个字段,在运行表单时就可以将用户的选择保存到当前记录该字段中。如果该字段是一个数值型字段,则保存选定按钮的序号。如果该字段是一个字符型字段,则当用户做了选择后,被选中选项按钮的标题将保存到字段中。
除了上述属性之外,选项按钮组还有以下常用的属性、事件和方法。 1、 Name属性:选项按钮组的对象名。
2、 Enabled属性:当该属性值为.f.时,选项按钮组不响应用户引发的事件,即废
止选项按钮组。
3、 DisabledForeColor和DisabledBackColor属性:指定选项按钮组被废止时的显示
颜色。
4、 SetAll方法:设置组中所有按钮的属性。例如,要将表单中名为Myopg的选项
按钮组中所有按钮设置为无效(即不可用),可在该组的init事件代码中使用代码行:THIS.SetAll(“Enable”,.f.,”OptionButton”)。
5、 Button属性:用于保存组中所有按钮的一个数组。例如,Myopg.Buttons(2)代
表名为Myopg的选项按钮组中的第二个按钮。
还可以设置选项按钮组中的单个选项按钮的属性,方法是从选项按钮组的快捷菜单中选择”编辑”命令,用鼠标选择某一个按钮,且在”属性”窗口中设置它的属性。单个选项按钮的ControlSource属性不能是一个字符型字段,否则当运行表单时Visual Fox Pro就会报告数据类型不匹配。如果选项属性不能是一个字符型字段,将根据按钮是否被选中,在字段中写入0或1。如果该字段是逻辑型的,则根据按钮是否被选中,在字段中写入.t.或.f.。如果记录指针在表中移动,则用当前记录该字段的值自动更新选项按钮的值,设置某个选项按钮的Caption属性,可以改变该按钮的标题。 设置选项按钮组的最简便的方法是使用按钮选项组生成器,如下图,其中有三个选
2 / 9
项卡:1、“按钮”选项卡用于输入按钮的个数以及各个按钮的标题;2、“布局”选项卡用于选择按钮排列的格局;3、“值”选项卡用于设置组的ControlSource属性。 四、复选框
使用复选框可让用户给出对某个问题的回答,答案通常是两个,即“是”和“否”。 常用的复选框属性是Value和ControlSource。Value属性值决定复选框有三种可能
的状态。反过来,运行表单时用户对复选框所设置的状态也决定了Value属性将获得的值。
1、0或.f.,复选框呈清除(也称未选中)状态。 2、1或.t.,复选框呈选中状态。
3、2或.Null.,复选框呈灰色状态。当复选框获得焦点时,只要用户按
就在选框中输入了.Null.,使复选框显示灰色。
可将复选框的ControlSource属性设置为某个表中的逻辑型或数值型字段。在运行
表单时,当逻辑型字段的当前值是.Null.值、。.t.或.f.时,复选框将分别显示为灰色、被选中或清除状态;当数值字段的当前值为0,1或2(以及.Null.值)时,将分别使复选框显示为清除、选中或灰色状态。并且,用户对复选框状态的改变将修改字段的当前值。 五、微调
微调常用在给定数值范围以及数值间距的情况下,让用户从数值范围内通过上调或
下调操作选择一个值或间接在微调框中输入值。直接在微调框中输入的值应是一个数值。数值范围和数值间距都可以是整数或小数。 常用的微调属性和事件如下。
1、 keyboardhighvalue属性:指定用户能输入到微调框中的最高值。 2、 keyboardlowvalue属性:指定用户能输入到微调框中的最低值。
3、 spinnerhighvalue属性:指定当用户单击向上按钮时微调控件显示的最高值。 4、 spinnerlowvalue属性:指定当用户单击向下按钮时微调控件显示的最低值。 5、 increment属性:用户每次单击向上或向下按钮时增加或减少的值(即数值间
距)。
6、 value属性:返回用户输入的值。
7、 SelectOnEntry属性:当微调得到焦点时,是否自动选中框中的数值。 8、 UpClick事件:用户单击向上按钮时响应的事件。 9、 DownClick事件:用户单击向下按钮时响应的事件。
六、文本框
文本框也是最常用的控件,使用文本框能够进行多种类型数据的输入和输出。 文本框中的数据可以是数值、字符、日期或逻辑型的。设计表单时,对文本框Value属
性的设置决定了运行表单时在文本框中显示的数据的值和类型。如果设计表单时未设置Value属性值,则运行表单时默认输入的是字符型数据。表单上文本框控件的长度限制了输入到文本框中的字符型数据或数值型数据的长度及大小。在文本框中输入的字符型数据或数值型数据的最大长度和大小还受相应数据类型的限制。运行表单时,当文本框获得焦点时用户就可修改数据;当移走焦点或按下
文本框的主要应用是对表中非备注字段中的数据进行显示和编辑,这需要将文本
框的ControlSource属性设置成表的某个字段。运行表单时,文本框显示当前记录的ControlSource属性所指定的字段的数据,并将用户修改后的数据保存到字段中,同时将改变文本框的Value属性值。
3 / 9
可以控制向文本框中输入数据的格式。如果是字符型数据,可用InputMark属性
设置对输入字符的限制,例如,将InputMask属性设置为999,999.99可限制用户在输入时只能向这个格式中“9”的位置填充数字,构成输入字符串。如果是逻辑型数据,把InputMask属性设置为“y”,文本框中就只能接受用户键入的“y”或“n”,而不接受输入“t”或“f”。对于日期数据,可用Century属性设置年份的前两个数字是否显示。 除了上述属性外,还有以下常用的文本框属性和事件。
1、 Alignment属性:确定文本框中的内容是左对齐、右对齐、居中还是自动对齐。
自动对齐的具体方式取决于数据类型,例如,数值型数据右对齐,字符型数据左对齐。
2、 Maxlenth属性:用在未设置InputMask属性时决定文本框中字符型数据的长
度。
3、 ReadOnly属性:该属性值为.t.时,文本框显示为灰色,表明不可编辑其中的
数据。
4、 SelectOnEntry属性:确定当文本框得到焦点时是否自动选中文本框中的内容。 5、 PasswordChar属性:利用该属性可在文本框中接收用户密码,可以把它设置
为*或其他的一般字符,这样,在运行表单时,文本框的Value和Text属性可以接受用户真正输入的信息,而在屏幕上显示的却是PasswordChar所指定的字符。
6、 Valid事件:若要检查用户输入文本框中的值,可以编写Valid事件代码,利
用代码来检查数据。例如,形成一个让用户只键入正数的文本框,可在文本框的Valid事件代码中包含如下的代码: If this.value<=0
=messagebox(“请输入一个正数”,1) &&显示提示信息,并重新输入数据 Return 0 &&结束事件代码的执行 Endif
七、编辑框
使用编辑框可让用户备注字段、内容较长的字符字段或较长的字符文本。在编辑框
中编辑文本时,可以自动换行,还能用方向键、PageUp和PageDown键以及滚动条来滚动显示文本。如果要在编辑框中编辑某个备注字段或字符字段的数据,应将编辑框的ControlSource属性设置为该字段。
运行表单时编辑框中的编辑结果将改变Value属性值,如果设置了编辑框的ControlSource属性,编辑结果还将保存到相应的字段中。在编辑框中编辑文本时按
(1) SelText---返回编辑框中选定的文本。
(2) SelStart---设定或返回选定文本在编辑框或文本框中的起始位置。 (3) SelLength---设定或返回选定文本的长度。
(4) AllowTabs---确定用户在编辑框中是否能插入
八、表格
表格控件用在表单上添加表格对象。表格是容器对象,包含多个列。每个表格列也
是容器,包含标头和控件。运行表单时表格的显示形式与Visual FoxPro中表的“浏览”
4 / 9
窗口类似,可以显示和编辑行和列中的数据。表格及其中的每个对象都拥有自己的一组属性、事件和方法程序,通过设置它们可以使表格灵活多样。
表格常用于显示和编辑表或视图中的数据,这需要把表或视图指定为表格的
RecordSource属性(即表格的数据源属性)。如果没有指定表格的RecordSource属性,但在当前工作区中有一个打开的属性可以指定表格中显示数据源的类型:表、别名、查询或用户根据提示选定的表。
设计表单时,选择表格对象的快捷菜单中的“编辑”,可以进入编辑表格状态。在
表格编辑状态下,可用鼠标调整表格的行高和列宽。调整列的宽度的方法是将鼠标指针置于表格列的标头之间,这时指针变为带有左右两个方向箭头和竖条,然后将列拖动到需要的宽度。调整行高的方法是将鼠标指针置于“表格”控件左侧的第一个按钮和第二个按钮之间,这时指针将变成带有向上和向下箭头的横条,然后,将行拖到需要的高度。 设计时常用的表格属性
1、ColumnCount:设置表格的列数。如果ColumnCount属性设置为-1(默认值),则在运行表单时,表格的列数与RecordSource属性所指定的表中字段数相同。最好将ColumnCount属性设置为显示数据需要的实际列数,这样,在设计时表格显示如图所示的形式。此时,才可以在选择表格快捷菜单中“编辑”菜单项之后,选中某列进行列属性设置。 2、AllowAddNew:是否允许在RecordSource属性所指定的表中追加新记录。如果将
AllowAddNew属性设置为真,当用户选中了表中的最后一条记录,并且按下< >键时, 就向表中添加新记录。
3、Columns:是包含表格列控件的数据。
4、AllowRowSizing:把该属性设置为.f.,可以防止用户在运行时改变表格的行高,表
格控件还常用于为数据库中已建立一对多关系的两个表形成一对多表单,即当表单中的文本框显示父表记录时,表格中显示子表的记录;当用户在父表中浏览记录时,表格中将显示与父表当前记录相匹配的子表记录。构成一对多表单的最简单方法是使用一对多表单向导。这样,向导能够自动设置文本框和表格的属性。
表格的每个列中默认包含的控件是标头(Header)和文本框。标头的Caption属性
决定列的标题。文本框能在运行表单时显示表格的RecordSource属性所指定的表中某个字段的数据。如果不想设置表格的RecordSource属性,可以分别设置列中文本框的ControlSource属性。对列中对象的属性设置要在“属性”窗口中选择对象后方可进行。
除在表格列中用文本框显示字段数据外,还可以在列中嵌入别的控件,例如用一
5 / 9