当用户单击一个非激活的顶级窗体,或非激活的顶级窗体的子窗体时,系统就会发送WM_MOUSEACTIVATE消息(还包括其他消息)给顶级窗体或子窗体,该消息在WM_NCHITTEST消息之后,但在button-down消息之前。当把
WM_MOUSEACTIVATE消息交给
DefWindowProc函数处理时,系统激活该顶级窗口并投递button-down消息。
通过处理WM_MOUSEACTIVATE,一个窗体可以就像鼠标单击一样控制激活顶级窗口,并确定该窗体是否接收后续的button-down消息。处理WM_MOUSEACTIVATE后,通过返回以下值实现该目的: