WM_WINDOWPOSCHANGED
Сообщение выполняется при перемещении или изменении размеров окна.
Параметры
Указанные параметры передаются системой.$wParam | - |
$lParam |
Указатель на структуру, содержащую позицию и размер окна |
Примечания
Смотрите функцию GUIRegisterMsg.См. также
WM_WINDOWPOSCHANGINGПример
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $k = 0
$Gui = GUICreate("WM_WINDOWPOSCHANGED", 380, 190, -1, -1, $WS_OVERLAPPEDWINDOW)
GUICtrlCreateLabel('Функция WM_WINDOWPOSCHANGED выполняется при перемещении или изменении размеров окна.', 5, 5, 380, 34)
$condition = GUICtrlCreateLabel('', 10, 40, 360, 135)
GUISetState()
GUIRegisterMsg($WM_WINDOWPOSCHANGED, "WM_WINDOWPOSCHANGED")
Do
Until GUIGetMsg() = -3
Func WM_WINDOWPOSCHANGED($hWnd, $Msg, $wParam, $lParam)
; получает координаты сторон окна
Local $sRect = DllStructCreate("Int[6]", $lParam), _
$ykazatel = DllStructGetData($sRect, 1, 1), _
$chislo = DllStructGetData($sRect, 1, 2), _
$left = DllStructGetData($sRect, 1, 3), _
$top = DllStructGetData($sRect, 1, 4), _
$WinSizeX = DllStructGetData($sRect, 1, 5), _
$WinSizeY = DllStructGetData($sRect, 1, 6)
$k += 1
GUICtrlSetData($condition, 'Вызов функции ' & $k & ' раз' & @CRLF & _
$ykazatel & ' - [1] число' & @CRLF & _
$chislo & ' - [2] число' & @CRLF & _
$left & ' - [3] координата левого края' & @CRLF & _
$top & ' - [4] координата верхнего края' & @CRLF & _
$WinSizeX & ' - [5] ширина окна' & @CRLF & _
$WinSizeY & ' - [6] высота окна')
WinSetTitle($Gui, '', 'Вызов ' & $k & ' раз, x=' & $WinSizeX & ', y=' & $WinSizeY)
Return $GUI_RUNDEFMSG
EndFunc