Function Reference

GUICtrlRecvMsg

コントロールにメッセージを送信し、lParamの情報を取得します。

GUICtrlRecvMsg ( controlID , msg [, wParam [, lParamType]] )

 

パラメータ

controlID GUICtrlCreate...関数によって返されるコントロール識別子(コントロールID)。
msg Windowsコントロールドキュメンテーションで定義されているコントロールに送信されるメッセージのタイプ。
wParam [オプション] コントロールに送信される1番目の整数パラメータ。
lParamType [オプション] 返されるlParamのタイプを定義する:0(デフォルト)でwParamとlParam、1でlParamの文字列、2でlParamのRECT構造体。

 

返し値

成功 WindowsAPIのSendMessageによって返される値が返されます。
失敗 0を返します。

 

注意

この関数ではSendMessageAPIを利用して直接コントロールに特殊なWindowsメッセージを送信することができます。これによって単純なGUICtrlRead()関数やGUICtrlUpdate...()関数の範囲では利用できない特別なコントロールの特徴を利用することが可能になります。

wParamパラメータ、lParamTypeパラメータを指定しない場合は2要素(LPwParam, LPlParam)をもつ配列が返されます。

RECTは4要素(左、上、右、下)をもつ配列として返されます。

 

関連

GUICtrlSendMsg, GUICtrlUpdate...

 


#include <GUIConstantsEx.au3>
#include <EditConstants.au3>

GUICreate("My GUI")  ; 表示時に中央に表示されるダイアログボックスを作成

$nEdit = GUICtrlCreateEdit ("line 0", 10,10)
GUICtrlCreateButton ("Ok", 20,200,50)

GUISetState ()

For $n=1 To 5
GUICtrlSetData ($nEdit, @CRLF & "line "& $n)
Next


; ダイアログが閉じられるまでGUIを実行
Do
    $msg = GUIGetMsg()
    If $msg >0 Then
        $a=GUICtrlRecvMsg($nEdit, $EM_GETSEL)
        GUICtrlSetState($nEdit,$GUI_FOCUS)  ; エディットコントロールにフォーカスを戻す

; コントロールによって返されたwParamとlParamの値を表示
        MsgBox(0,"Current selection",StringFormat("start=%d end=%d", $a[0], $a[1]))
    EndIf
Until $msg = $GUI_EVENT_CLOSE