WM_MOVING
Сообщение выполняется при перемещения окна.
Параметры
Указанные параметры передаются системой.$wParam | - |
$lParam |
Указатель на структуру, содержащую координаты сторон окна |
Примечания
В отличии от WM_MOVE функция WM_MOVING выполняется при отпуске окна.См. также
WM_MOVEПример
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
; Global Const $WM_MOVING = 0x0216 ; в AutoIt3 v3.3.6.1 эта константа не определена
Global $k = 0
$Gui = GUICreate("WM_MOVING", 390, 180, -1, -1, $WS_OVERLAPPEDWINDOW)
GUICtrlCreateLabel('Функция WM_MOVING выполняется при перемещения окна. Отличается от WM_MOVE тем, что выполняется при отпуске окна.', 5, 5, 380, 34)
$condition = GUICtrlCreateLabel('', 10, 40, 380, 140)
GUISetState()
GUIRegisterMsg($WM_MOVING, "WM_MOVING")
Do
Until GUIGetMsg() = -3
Func WM_MOVING($hWnd, $Msg, $wParam, $lParam)
; получает координаты сторон окна
Local $sRect = DllStructCreate("Int[4]", $lParam), _
$left = DllStructGetData($sRect, 1, 1), _
$top = DllStructGetData($sRect, 1, 2), _
$Right = DllStructGetData($sRect, 1, 3), _
$bottom = DllStructGetData($sRect, 1, 4)
$k += 1
GUICtrlSetData($condition, _
'Левая.....' & @TAB & $left & @CRLF & _
'Верхняя..' & @TAB & $top & @CRLF & _
'Правая...' & @TAB & $Right & @CRLF & _
'Нижняя..' & @TAB & $bottom)
WinSetTitle($Gui, '', 'Вызов ' & $k & ' раз')
Return $GUI_RUNDEFMSG
EndFunc