WM_ACTIVATE
Сообщение выполняется при изменении активности окна.
Параметры
Указанные параметры передаются системой.$wParam | Двойное слово содержит: младшее слово одно из следующих: WA_INACTIVE = 0 ; окно деактивировано WA_ACTIVE = 1 ; активация любым способом, кроме клика мыши WA_CLICKACTIVE = 2 ; активация кликом мыши старшее слово 0 - окно не свёрнуто 32 - окно свёрнуто |
$lParam |
Содержит дескриптор предыдущего окна или NULL |
Примечания
Смотрите функцию GUIRegisterMsg.Пример
Global Const $WA_ACTIVE = 1
Global Const $WA_CLICKACTIVE = 2
Global Const $WA_INACTIVE = 0
Global $k = 0
$Gui = GUICreate("WM_ACTIVATE", 550, 140)
GUICtrlCreateLabel('Функция WM_ACTIVATE выполняется при изменении активности окна (сворачивание, активирование иного окна).', 5, 5, 360, 130)
GUISetState()
GUIRegisterMsg(0x0006, "WM_ACTIVATE")
Do
Until GUIGetMsg() = -3
Func WM_ACTIVATE($hWnd, $Msg, $wParam, $lParam)
Local $Active, $Minimized
$Active = BitAND($wParam, 0xFFFF) ; _WinAPI_LoWord
$Minimized = BitShift($wParam, 16) ; _WinAPI_HiWord
$k += 1
If $Minimized Then
ToolTip('минимизация = ' & $Minimized, Default, Default, 'Минимизировано', 1, 4 + 1)
Else
ToolTip('')
EndIf
WinSetTitle($Gui, '', 'Вызов ' & $k & ' раз, Флаги: активация = ' & $Active & ', минимизация = ' & $Minimized)
EndFunc