当窗口被激活或停用时,WM_ACTIVATE消息被发送。该消息首先发送到禁用顶级窗口的窗口过程;然后将其发送到正在激活的顶级窗口的窗口过程。
WM_ACTIVATE
fActive = LOWORD(wParam); //激活标志
fMinimized = (BOOL) HIWORD(wParam); //最小化标志
hwndPrevious = (HWND) lParam; //窗口句柄
参数
【事实性】
【wParam中】的低位字的值。指定窗口是否被激活或停用。此参数可以是以下值之一:
值 | 含义 |
WA_ACTIVE | 通过鼠标单击以外的某些方法激活(例如,通过调用SetActiveWindow功能或使用键盘界面选择窗口)。 |
WA_CLICKACTIVE | 通过鼠标点击激活。 |
WA_INACTIVE | 停用。 |
【fMinimized】
【wParam中】的高位字的值。指定被激活或禁用的窗口的最小化状态。非零值表示窗口最小化。
【hwndPrevious】
价值【lParam的】.根据【事实性】参数的值标识正在激活或停用的窗口。如果【事实性】的值为WA_INACTIVE,则【hwndPrevious】是正在激活的窗口的句柄。如果【事实性】的值为WA_ACTIVE或WA_CLICKACTIVE,则【hwndPrevious】是禁用窗口的句柄。这个句柄可以是NULL。
返回值
如果应用程序处理此消息,则应返回零。
默认动作
如果窗口被激活并且没有被最小化,则DefWindowProc功能将键盘焦点设置到窗口。
备注
如果窗口被鼠标点击激活,它也会收到WM_MOUSEACTIVATE消息。
也可以看看
DefWindowProc, SetActiveWindow, WM_MOUSEACTIVATE, WM_NCACTIVATE