コントロールにメッセージを送信し、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...()関数の範囲では利用できない特別なコントロールの特徴を利用することが可能になります。
関連
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