当光标处于非活动窗口并且用户按下鼠标按钮时,WM_MOUSEACTIVATE消息被发送。只有当子窗口将其传递给DefWindowProc函数时,父窗口才会收到此消息。
WM_MOUSEACTIVATE
hwndTopLevel = (HWND) wParam; //顶级父项的句柄
nHittest = (INT) LOWORD(lParam); //命中检测值
uMsg = (UINT) HIWORD(lParam); //鼠标信息
参数
【hwndTopLevel】
价值【wParam中】.标识正在激活的窗口的顶级父窗口。
【nHittest】
【lParam的】的低位字的值。指定作为处理WM_NCHITTEST消息的结果由DefWindowProc函数返回的命中测试值。有关命中测试值的列表,请参阅WM_NCHITTEST.
【uMsg】
【lParam的】的高位字的值。指定用户按下鼠标按钮时生成的鼠标信息的标识符。根据返回值,鼠标消息被丢弃或发布到窗口。
返回值
返回值指定是否应激活该窗口以及是否应丢弃鼠标消息的标识符。它必须是以下值之一:
值 | 含义 |
MA_ACTIVATE | 激活窗口,不会丢弃鼠标信息。 |
MA_ACTIVATEANDEAT | 激活窗口,并放弃鼠标消息。 |
MA_NOACTIVATE | 不激活窗口,不会丢弃鼠标消息。 |
MA_NOACTIVATEANDEAT | 不激活窗口,但丢弃鼠标消息。 |
默认动作
在发生任何处理之前,DefWindowProc函数将消息传递给子窗口的父窗口。父窗口决定是否激活子窗口。如果它激活子窗口,父窗口应该返回TRUE,以防止系统进一步处理消息。
也可以看看