Function Reference

GUICtrlSendMsg

コントロールにメッセージを送信します。

GUICtrlSendMsg ( controlID, msg , wParam, lParam )

 

パラメータ

controlID GUICtrlCreate...関数によって返されるコントロール識別子(コントロールID)。
msg Windowsコントロールドキュメンテーションで定義されているコントロールに送信されるメッセージのタイプ。
wParam コントロールに送信する1番目のパラメータ。
lParam コントロールに送信する2番目のパラメータ。

 

返し値

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

 

注意

注意

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

パラメータ(wParamとlParam)には整数と文字列が使用できます。

GUICtrlSendMsgは特別な型の返し値が無いメッセージに使用します。より応用的なメッセージを使用して付属データを取得したい場合はGUICtrlRecvMsg()を使用します。

 

関連

GUICtrlRecvMsg, GUICtrlCreate..., GUICtrlUpdate..., GUIGetMsg, GUICtrlRead

 


#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
        $n=GUICtrlSendMsg ($nEdit, $EM_LINEINDEX,-1,0)
        $nline=GUICtrlSendMsg( $nEdit, $EM_LINEFROMCHAR,$n,0)
        GUICtrlSetState ($nEdit,$GUI_FOCUS) ; フォーカスを合わせる

        MsgBox (0,"Currentline",$nLine)
    EndIf
Until $msg = $GUI_EVENT_CLOSE