The WM_ACTIVATE message is sent when a window is being activated or deactivated. This message is sent first to the window procedure of the top-level window being deactivated; it is then sent to the window procedure of the top-level window being activated.
WM_ACTIVATE
fActive = LOWORD(wParam); // activation flag
fMinimized = (BOOL) HIWORD(wParam); // minimized flag
hwndPrevious = (HWND) lParam; // window handle
Parameters
fActive
Value of the low-order word of wParam. Specifies whether the window is being activated or deactivated. This parameter can be one of the following values:
Value | Meaning |
WA_ACTIVE | Activated by some method other than a mouse click (for example, by a call to the SetActiveWindow function or by use of the keyboard interface to select the window). |
WA_CLICKACTIVE | Activated by a mouse click. |
WA_INACTIVE | Deactivated. |
fMinimized
Value of the high-order word of wParam. Specifies the minimized state of the window being activated or deactivated. A nonzero value indicates the window is minimized.
hwndPrevious
Value of lParam. Identifies the window being activated or deactivated, depending on the value of the fActive parameter. If the value of fActive is WA_INACTIVE, hwndPrevious is the handle of the window being activated. If the value of fActive is WA_ACTIVE or WA_CLICKACTIVE, hwndPrevious is the handle of the window being deactivated. This handle can be NULL.
Return Values
If an application processes this message, it should return zero.
Default Action
If the window is being activated and is not minimized, the DefWindowProc function sets the keyboard focus to the window.
Remarks
If the window is activated by a mouse click, it also receives a WM_MOUSEACTIVATE message.
See Also
DefWindowProc, SetActiveWindow, WM_MOUSEACTIVATE, WM_NCACTIVATE