您的位置: 网站首页 > 程序开发 > Visaul FoxPro程序设计 > 第8章 表单与控件设计 > 【8.4.4 选项按钮组、复选框和微调按钮的使用】

8.4.4 选项按钮组、复选框和微调按钮的使用

 

8.4.4  选项按钮组、复选框和微调按钮的使用

1.选按钮组

选项按钮(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所示。

2.复选框

复选框(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

指定复选框的数据源

 

3.微调按钮

微调按钮(Spinner用于接受给定范围内的数据输入。使用微调按钮,一方面可以代替键盘输入接受一个值,另一方面可以在当前值的基础上做微小的增量或减量调节。用户除了能够点击微调框右端的向上/向下箭头来增加或减少数值外,还能直接在微调框内输入一个数值。

微调控件值一般为数值型,也可以使用微调控件和文本框来微调多种类型的数值。例如,如果要微调一定范围的日期,可以调整微调控件的大小,使它只显示按钮,同时在微调按钮旁边放置一个文本框,设置文本框的Value属性为日期,在微调控件的UpClickDownClick事件中增加或减少日期。

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的属性。

·    KeyboardHighValue40

·    KeyboardLowValue10

·    SpinnerHighValue40

·    SpinnerLowValue10

·    Increment2.0

·    Value10

4)设置复选框控件Check1(粗体)的属性。

·    Caption:粗体。

5)设置复选框控件Check2(斜体)的属性。

·    Caption:斜体。

6)双击Command1(清除)按钮控件,并编写其Click事件代码。

thisform.edit1.value=" "

7)双击Command2(取消)按钮控件,并编写其Click事件代码。

thisform.release

8)编写Optiongroup1Click事件代码。

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)再编写Spinner1UpClick事件代码。

Thisform.edit1.Fontsize=this.value

13)保存表单为“例8-9并运行,其运行界面如图8-45所示。