GUICtrlRecvMsg
Отправляет сообщение элементу и получает информацию в lParam.
GUICtrlRecvMsg ( controlID , msg [, wParam [, lParamType ]] )
Параметры
controlID | Идентификатор элемента возвращаемый функцией GUICtrlCreate.... |
msg |
Тип сообщения посылаемого элементу, как определено в документации элементов окна. |
wParam |
[необязательный] Целочисленный первый параметр, посылаемый элементу. |
lParamType |
[необязательный] Определить тип (lParam) возвращаемых данных: 0 - (по умолчанию) для wParam и lParam 1 - для строкового параметра lParam 2 - для структуры lParam RECT. |
Возвращаемое значение
Успех: | Возвращает значение, возвращаемое SendMessage Windows API. |
Ошибка: | Возвращает 0. |
Примечания
Эта функция позволяет передавать специальные сообщения Windows непосредственно элементу с помощью SendMessage API. Это позволяет получить специальные параметры элемента, недоступные обычной функцией GUICtrlRead() и функциями GUICtrlUpdate....См. также
GUICtrlSendMsg, GUICtrlUpdate...Пример
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
GUICreate("Выдели часть текста") ; Создаёт окно в центре экрана
$iEdit = GUICtrlCreateEdit("Строка 0", 10, 10)
GUICtrlCreateButton("OK", 140, 180, 70)
GUISetState()
For $n = 1 To 5
GUICtrlSetData($iEdit, @CRLF & "Строка " & $n, 1)
Next
; Запускается цикл опроса GUI до тех пор пока окно не будет закрыто
Do
$msg = GUIGetMsg()
If $msg > 0 Then
$a = GUICtrlRecvMsg($iEdit, $EM_GETSEL)
If @error Then ContinueLoop
GUICtrlSetState($iEdit, $GUI_FOCUS) ; Устанавливает фокус обратно в элемент Edit
; Отображает возвращённые значения wParam и lParam элемента Edit
MsgBox(4096, "Текущий выбор", StringFormat("начальный=%d конечный=%d", $a[0], $a[1]))
EndIf
Until $msg = $GUI_EVENT_CLOSE