选项按钮(OptionGroup) 又称作单选按钮,它可以建立一个选项组控件,用于显示多个选项,但只能从中选择一项。单选按钮总是成组使用,它旁边的圆点指示当前的选择。与命令按钮组不同,单选按钮必须且只需选择其中的一个,如单项选择题一样。
表8-14所列为选项按钮组的常用属性和事件。
表8-14 选项按钮组的常用属性和事件
属性和方法 |
说 明 |
ButtonCount属性 |
设置选项组中选项按钮的个数 |
ControlSource属性 |
设置选项组中的控制源 |
Value属性 |
指定在选项组中当前选择第几个选项 |
Click事件 |
当用户单击选项组时触发该事件 |
RightClick事件 |
当用户右击选项组时触发该事件 |
注意:若要将一个选项按钮的Caption属性保存到表中,首先将选项按钮组的Value属性设置为空字符串。将按钮组的ControlSource属性设置为表中的一个字符型字段。
【例8-8】利用选项按钮组选择学历类型,当单击“确定”按钮时将弹出确认信息框,运行效果如图8-42所示。
图8-42 运行的效果
其具体操作步骤如下:
(1)新建一个表单,添加一个标签控件和一个命令按钮控件Command1,并设置相关的属性,如图8-43所示。
图8-43 添加的控件
(2)再添加一个命令按钮组控件OptionGroup1,右击该控件,在弹出的快捷菜单中选择“生成器”命令,然后进行相应的设置,如图8-44所示。
图8-44 设置选项按钮组
(3)双击“确定”按钮Command1,然后编写其Click事件代码。
MESSAGEBOX('您所选择的学历是:'+;
thisform.optiongroup1.buttons[thisform.optiongroup1.value].caption)
(4)保存表单为“例8-8”并运行,其运行界面如图8-42所示。
复选框(CheckBox)是允许在两个选项间进行选择,如“真”和“假”、“开”和“关”、“是”和“否”,若选定一个选择时,复选框中便出现一个√。然而有时不能将问题准确地归为“真”或“假”,如对“真”或“假”的调查表不做出任何回答,因此复选框有4种状态,由Value属性决定复选框4种可能的状态,见表8-15。
表8-15 复选框的状态
显 示 |
Value属性 |
|
0 或.F. |
|
1 或.T. |
|
2 |
|
.NULL. |
复选框的Caption属性可以指定出现在复选框旁边的文本,而Picture属性用于指定复选框的图像。Value属性反映最近一次指定的数据类型,如果该属性设置为“真”(.T.)或“假”(.F.),类型为逻辑型,直到属性重新设置为数值型值。
复选框的ControlSource属性表中的一个逻辑字段,如果当前的记录值为“真”(.T.)时,复选框显示为选中;如果当前记录值为“假”(.F.),复选框显示为未选中;如果当前记录为null值(.NULL.),复选框则变为灰色。
表8-16所列为复选框的常用属性和事件。
表8-16 复选框的常用属性和事件
属性名称 |
功 能 |
取 值 |
Style |
指定复选框的样式 |
0-标准;1-图形 |
Value |
指定复选框的状态 |
0或.f.-未选中;1或.t.-选中;2或.NULL.-灰色 |
属性名称 |
功 能 |
取 值 |
caption |
指定复选框的文本信息 | |
controlsource |
指定复选框的数据源 |
微调按钮(Spinner)用于接受给定范围内的数据输入。使用微调按钮,一方面可以代替键盘输入接受一个值,另一方面可以在当前值的基础上做微小的增量或减量调节。用户除了能够点击微调框右端的向上/向下箭头来增加或减少数值外,还能直接在微调框内输入一个数值。
微调控件值一般为数值型,也可以使用微调控件和文本框来微调多种类型的数值。例如,如果要微调一定范围的日期,可以调整微调控件的大小,使它只显示按钮,同时在微调按钮旁边放置一个文本框,设置文本框的Value属性为日期,在微调控件的UpClick和DownClick事件中增加或减少日期。
表8-17所列为复选框的常用属性和事件。
表8-17 微调控件的常用属性和事件
属性和事件 |
说 明 |
Interval属性 |
单击向上或向下按钮时增加和减少的值 |
KeyboardHighValue属性 |
能键入到微调文本框中的最高值 |
KeyboardLowValue属性 |
能键入到微调文本框中的最低值 |
SpinnerHighValue属性 |
单击向上按钮时,微调控件能显示的最高值 |
SpinnerLowValue属性 |
单击向下按钮时,微调控件能显示的最低值 |
DownClick事件 |
用户单击向下箭头时触发该事件 |
InteractiveChange事件 |
在使用键盘或鼠标更改微调控件的值时触发该事件 |
UpClick事件 |
用户单击向上箭头时触发该事件 |
【例8-9】创建一个表单,在编辑框中输入内容,对其进行相应的操作后,其文本框内容的格式会发生变化,运行结果如图8-45所示。
图8-45 运行的结果
其具体操作步骤如下:
(1)新建一个表单,并在其中添加相应的控件,如图8-46所示。
图8-46 添加控件
(2)设置选项按钮组控件Optiongroup1的属性。
· Option1.Caption:红。
· Option2.Caption:橙。
· Option3.Caption:黄。
· Option4.Caption:绿。
· Option5.Caption:青。
· Option6.Caption:蓝。
· Option7.Caption:紫。
(3)设置微调控件Spinner1的属性。
· KeyboardHighValue:40。
· KeyboardLowValue:10。
· SpinnerHighValue:40。
· SpinnerLowValue:10。
· Increment:2.0。
· Value:10。
(4)设置复选框控件Check1(粗体)的属性。
· Caption:粗体。
(5)设置复选框控件Check2(斜体)的属性。
· Caption:斜体。
(6)双击Command1(清除)按钮控件,并编写其Click事件代码。
thisform.edit1.value=" "
(7)双击Command2(取消)按钮控件,并编写其Click事件代码。
thisform.release
(8)编写Optiongroup1的Click事件代码。
DO CASE
CASE THIS.VALUE=1
THISFORM.EDIT1.FORECOLOR=RGB(255,0,0)
CASE THIS.VALUE=2
THISFORM.EDIT1.FORECOLOR=RGB(255,128,0)
CASE THIS.VALUE=3
THISFORM.EDIT1.FORECOLOR=RGB(255,255,0)
CASE THIS.VALUE=4
THISFORM.EDIT1.FORECOLOR=RGB(0,128,0)
CASE THIS.VALUE=5
THISFORM.EDIT1.FORECOLOR=RGB(81,174,167)
CASE THIS.VALUE=6
THISFORM.EDIT1.FORECOLOR=RGB(0,0,255)
CASE THIS.VALUE=7
THISFORM.EDIT1.FORECOLOR=RGB(128,0,128)
ENDCASE
(9)双击Check1(粗体)控件,并编写其Click事件代码。
If this.value=1
thisform.edit1.fontbold=.T.
ELSE
THISFORM.EDIT1.FONTBOLD=.F.
ENDIF
(10)双击Check2(斜体)控件,并编写其Click事件代码。
IF THIS.VALUE=1
THISFORM.EDIT1.FONTITALIC=.T.
ELSE
THISFORM.EDIT1.FONTITALIC=.F.
ENDIF
(11)双击Spinner1微调控件,并编写其DownClick事件代码。
THISFORM.EDIT1.FONTSIZE=THIS.VALUE
(12)再编写Spinner1的UpClick事件代码。
Thisform.edit1.Fontsize=this.value
(13)保存表单为“例8-9”并运行,其运行界面如图8-45所示。