Function Reference

GUICtrlRead

コントロールの状態またはデータを読み取ります。

GUICtrlRead ( controlID [, advanced] )

 

パラメータ

controlID GUICtrlCreate...関数によって返されるコントロール識別子(コントロールID)。
advanced [オプション] コントロールの拡張情報を返すかどうか。
0 = (デフォルト) コントロールの状態またはデータを表す値を返します。
1 = コントロールの拡張情報を返します(注意を参照)。

 

返し値

成功 コントロールによって異なります(下記参照)。
失敗 0を返します。
種類
チェックボックス、ラジオ ボタンの状態。状態表を参照
コンボ、リスト 選択されている値
インプット、エディット 入力されているテキスト
ボタン 表示されているテキスト
日付 選択されている日付
プログレス 現在のパーセンテージ
スライダー 現在の値
タブ advancedパラメータの値に従って、選択されているタブアイテムの番号またはコントロールID。
メニュー、メニューアイテム メニュー/アイテムの状態。状態表を参照
ツリービュー 選択されているツリービューアイテムのコントロール識別子(コントロールID)
ツリービューアイテム ツリービューアイテムの状態
リストビュー 選択されているリストビューアイテムのコントロール識別子(コントロールID)。アイテムが選択されていない場合0。
ダミー GUICtrlSendToDummyまたはGUICtrlSetDataで設定された値

 

注意

'advanced'モードでは返し値はコントロールの追加データを格納しています(下記参照)。

注意:全てのコントロールで追加データが利用できるわけではありません!


種類 追加データ
チェックボックス、ラジオ コントロールのテキスト。
メニュー、メニューアイテム コントロールのテキスト。
ツリービュー 現在選択されているツリービューアイテムのテキスト。
ツリービューアイテム ツリービューアイテムのテキスト。
リストビューアイテム advancedモードで$LVS_EX_CHECKBOXES拡張スタイルが使用されている場合、リストビューアイテムの状態。 状態表を参照
タブ 選択されているタブアイテムのコントロールID

チェックボックスコントロール、ラジオコントロールでは$GUI_FOCUSと$GUI_CHECKEDの2つ状態が返されます。例えばコントロールがチェックされているかどうかはBitAnd(GUICtrlRead($Item),$GUI_CHECKED)のようにして調べてください。

リストビューアイテムでは$GUI_CHECKEDと$GUI_UNCHECKEDの2つ状態が返されます(リストビューコントロールに拡張スタイルLVS_EX_CHECKBOXESが設定され、'advanced'モードの場合のみ)。例えばコントロールがチェックされているかどうかはBitAnd(GUICtrlRead($Item),$GUI_CHECKED)のようにして調べてください。

ツリービューアイテムでは$GUI_FOCUS、$GUI_EXPAND、GUI_CHECKED、GUI_UNCHECKEDの複数の状態が返されます(ツリービューコントロールにスタイルTVS_CHECKBOXESが設定されている場合のみ)。例えばコントロールがチェックされているかどうかはBitAnd(GUICtrlRead($Item),$GUI_CHECKED)のようにして調べてください。

 

関連

GUICtrlUpdate..., GUIGetMsg, GUICtrlSetData, GUIEventOptions (Option), GUICtrlCreate..., GUICtrlGetState, GUICtrlSendToDummy, GUICtrlSendMsg

 


#include <GUIConstantsEx.au3>

Opt('MustDeclareVars', 1)

Example()

Func Example()
    Local $menu1, $n1, $n2, $msg, $menustate, $menutext
   
    GUICreate("My GUICtrlRead") ; 表示時に中央に表示されるダイアログボックスを作成

    $menu1 = GUICtrlCreateMenu("File")

    $n1 = GUICtrlCreateList("", 10, 10, -1, 100)
    GUICtrlSetData(-1, "item1|item2|item3", "item2")

    $n2 = GUICtrlCreateButton("Read", 10, 110, 50)
    GUICtrlSetState(-1, $GUI_FOCUS) ; フォーカスをこのボタンに設定

    GUISetState() ; 空のダイアログボックスを表示
    ; ダイアログが閉じられるまでGUIを実行
    Do
        $msg = GUIGetMsg()
        If $msg = $n2 Then
            MsgBox(0, "Selected listbox entry", GUICtrlRead($n1)) ; 選択されたリストボックスエントリーを表示
            $menustate = GUICtrlRead($menu1) ; メニューアイテムの状態を返す
            $menutext = GUICtrlRead($menu1, 1) ; メニューアイテムのテキストを返す
            MsgBox(0, "State and text of the menuitem", "state:" & $menustate & @LF & "text:" & $menutext)
        EndIf
    Until $msg = $GUI_EVENT_CLOSE
EndFunc   ;==>Example