GUIGetCursorInfo
Возвращает координаты курсора мыши относительно окна GUI.
GUIGetCursorInfo ( [ winhandle ] )
Параметры
winhandle | [необязательный] Дескриптор используемого окна. Если не указать, будет использоваться для текущего окна. |
Возвращаемое значение
Успех: | Возвращает пять элементов массива, содержащего информацию курсора мыши: |
$array[0] = X - координата по горизонтали | |
$array[1] = Y - координата по вертикали | |
$array[2] = Состояние первой кнопки мыши (1 - нажата, 0 - не нажата) | |
$array[3] = Состояние второй кнопки мыши (1 - нажата, 0 - не нажата) | |
$array[4] = Идентификатор элемента, на который наведён курсор мыши (или 0, если не наведено) | |
Ошибка: | Возвращает 0 и @error = 1 |
Примечания
Координаты возвращаются относительно GUI-окна (известны, как клиентский координаты).См. также
GUICreate, GUIGetMsgПример
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
Global $iInfo
GUICreate("Информация курсора", 420, 300)
$iInfo = GUICtrlCreateLabel('', 10, 10, 150, 72, $WS_BORDER)
GUICtrlCreateEdit("Строка", 170, 10, 240, 72)
GUICtrlCreateLabel("Надпись", 10, 90, 400, 40, $WS_BORDER)
GUICtrlCreateButton("Кнопка", 150, 140, 100, 27)
GUISetState()
; Запускается цикл опроса GUI до тех пор пока окно не будет закрыто
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_MOUSEMOVE
_MemoWrite()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _MemoWrite()
Local $aInfo = GUIGetCursorInfo()
If $aInfo[4] <> $iInfo Then
GUICtrlSetData($iInfo, _
' x = ' & $aInfo[0] & @CRLF & _
' y = ' & $aInfo[1] & @CRLF & _
' ID = ' & $aInfo[4] & @CRLF & _
' Текст = ' & GUICtrlRead($aInfo[4]))
EndIf
EndFunc ;==>_MemoWrite