The WM_MOUSEACTIVATE message is sent when the cursor is in an inactive window and the user presses a mouse button. The parent window receives this message only if the child window passes it to the DefWindowProc function.
WM_MOUSEACTIVATE hwndTopLevel = (HWND) wParam; // handle of top-level parent nHittest = (INT) LOWORD(lParam); // hit-test value uMsg = (UINT) HIWORD(lParam); // mouse message
The return value specifies whether the window should be activated and whether the identifier of the mouse message should be discarded. It must be one of the following values:
Value |
Meaning |
MA_ACTIVATE |
Activates the window, and does not discard the mouse message. |
MA_ACTIVATEANDEAT |
Activates the window, and discards the mouse message. |
MA_NOACTIVATE |
Does not activate the window, and does not discard the mouse message. |
MA_NOACTIVATEANDEAT |
Does not activate the window, but discards the mouse message. |
The DefWindowProc function passes the message to a child window’s parent window before any processing occurs. The parent window determines whether to activate the child window. If it activates the child window, the parent window should return MA_NOACTIVATE or MA_NOACTIVATEANDEAT to prevent the system from processing the message further.