基 础 函 数 参 考


GUIStartGroup

使此后所有被创建的控件都归为一组.

GUIStartGroup ( [句柄] )

参 数

句柄 [可选参数] 由 GUICreate 函数返回的窗口句柄 (默认为先前使用的窗口).

返 回 值

成功: 返回 1.
失败: 返回 0.

备 注

本函数一般用于单选按钮控件. 当用户点击某个单选按钮时, 其它所有同一组的单选按钮将复位.
GUIStartGroup 函数能够轻松地定义控件组.

相 关 函 数

GUICtrlCreateGroup

函 数 示 例


#include <GUIConstantsEx.au3>

Example()

Func Example()
    Local $button_1, $radio_1, $radio_2, $radio_3
    Local $radio_4, $radio_5, $radio_6, $input_1, $input_2
    Local $radioval1, $radioval2, $msg

    Opt("GUICoordMode", 1)

    GUICreate("单选框分组演示", 400, 280)

    ; 创建控件
    $button_1 = GUICtrlCreateButton("按钮 1 &u", 30, 20, 120, 40)
    GUICtrlCreateGroup("组框 1", 30, 90, 165, 160)
    GUIStartGroup()
    $radio_1 = GUICtrlCreateRadio("单选框 &0", 50, 120, 70, 20)
    $radio_2 = GUICtrlCreateRadio("单选框 &1", 50, 150, 70, 20)
    $radio_3 = GUICtrlCreateRadio("单选框 &2", 50, 180, 70, 20)
    GUIStartGroup()
    $radio_4 = GUICtrlCreateRadio("单选框 &A", 120, 120, 70, 20)
    $radio_5 = GUICtrlCreateRadio("单选框 &B", 120, 150, 70, 20)
    $radio_6 = GUICtrlCreateRadio("单选框 &C", 120, 180, 70, 20)
    GUIStartGroup()
    $input_1 = GUICtrlCreateInput("输入框 1", 200, 20, 160, 30)
    $input_2 = GUICtrlCreateInput("输入框 2", 200, 70, 160, 30)

    ; 设置默认值 (单选按钮点击, 默认按钮,等)
    GUICtrlSetState($radio_1, $GUI_CHECKED)
    GUICtrlSetState($radio_6, $GUI_CHECKED)
    GUICtrlSetState($button_1, $GUI_FOCUS + $GUI_DEFBUTTON)

    ; 保持追踪单选框事件
    $radioval1 = 0 ; 设置 0 = 第一个单选按钮, 2 = 最后一个按钮
    $radioval2 = 2

    GUISetState()

    ; 在此消息循环中, 我们使用变量保持跟踪单选框的变化,
    ; 另一种方式使用 GUICtrlRead() 读取每个控件的状态.
    ; 这两种方法都是同样有效.
    While 1
        $msg = GUIGetMsg()
        Select
            Case $msg = $GUI_EVENT_CLOSE
                Exit

            Case $msg = $button_1
                MsgBox(0, "按钮", "单选框 " & $radioval1 & @LF & "单选框 " & Chr($radioval2 + Asc("A")) & @LF & GUICtrlRead($input_1) & @LF & GUICtrlRead($input_2))

            Case $msg = $radio_1 Or $msg = $radio_2 Or $msg = $radio_3
                $radioval1 = $msg - $radio_1

            Case $msg = $radio_4 Or $msg = $radio_5 Or $msg = $radio_6
                $radioval2 = $msg - $radio_4

        EndSelect
    WEnd
EndFunc   ;==>Example

provider with jb51.net (unicode)