以降で作成されるコントロールを同じ"グループ"として定義します。
GUIStartGroup ( [winhandle] )
パラメータ
winhandle | [オプション] GUICreateによって返されるウィンドウハンドル(デフォルトでは直前に使われたウィンドウ)。 |
返し値
成功 | 1を返します。 |
失敗 | 0を返します。 |
注意
この関数は一般にラジオボタンコントロールに対して使用されます。ラジオボタンの1つをクリックすると同じグループの他の全てのラジオボタンはリセットされます。GUIStartGroup関数を使うとこのようなグループを簡単に定義できます。
関連
GUICtrlCreateGroup
例
#include <GUIConstantsEx.au3>
Opt('MustDeclareVars', 1)
Example()
Func Example()
Local $button_1, $group_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("Radio Box Grouping Demo", 400, 280)
; コントロール作成
$button_1 = GUICtrlCreateButton("B&utton 1", 30, 20, 120, 40)
$group_1 = GUICtrlCreateGroup("Group 1", 30, 90, 165, 160)
GUIStartGroup()
$radio_1 = GUICtrlCreateRadio("Radio &0", 50, 120, 70, 20)
$radio_2 = GUICtrlCreateRadio("Radio &1", 50, 150, 60, 20)
$radio_3 = GUICtrlCreateRadio("Radio &2", 50, 180, 60, 20)
GUIStartGroup()
$radio_4 = GUICtrlCreateRadio("Radio &A", 120, 120, 70, 20)
$radio_5 = GUICtrlCreateRadio("Radio &B", 120, 150, 60, 20)
$radio_6 = GUICtrlCreateRadio("Radio &C", 120, 180, 60, 20)
GUIStartGroup()
$input_1 = GUICtrlCreateInput("Input 1", 200, 20, 160, 30)
$input_2 = GUICtrlCreateInput("Input 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, "Button", "Radio " & $radioval1 & @LF & "Radio " & 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