Windows MFC OnMouseActivate:如果你吃了鼠标事件,焦点在哪里?

Windows MFC OnMouseActivate:如果你吃了鼠标事件,焦点在哪里?,windows,visual-c++,mfc,focus,mouseevent,Windows,Visual C++,Mfc,Focus,Mouseevent,焦点在哪里? 焦点是留在先前保持焦点的窗口上,还是处于边缘的焦点不在窗口上 我注意到,当我吃一条信息时,似乎什么都没有焦点 我返回MA_NoActivated,此时焦点不能处于不确定状态。某些东西必须始终具有焦点,因此它要么是先前持有焦点的窗口,要么是由鼠标事件激活的新窗口 forCWnd::OnMouseActivate告诉我们将发生什么,具体取决于您从函数返回的值: MA_ACTIVATE Activate CWnd object MA_NOACTIVATE

焦点在哪里? 焦点是留在先前保持焦点的窗口上,还是处于边缘的焦点不在窗口上

我注意到,当我吃一条信息时,似乎什么都没有焦点


我返回MA_NoActivated,此时焦点不能处于不确定状态。某些东西必须始终具有焦点,因此它要么是先前持有焦点的窗口,要么是由鼠标事件激活的新窗口

for
CWnd::OnMouseActivate
告诉我们将发生什么,具体取决于您从函数返回的值:

MA_ACTIVATE Activate CWnd object MA_NOACTIVATE Do not activate CWnd object MA_ACTIVATEANDEAT Activate CWnd object and discard the mouse event MA_NOACTIVATEANDEAT Do not activate CWnd object and discard the mouse event MA_激活CWnd对象 不激活不激活CWnd对象 MA_ACTIVATEANDEAT激活CWnd对象并放弃鼠标事件 MA_noactivateAT不激活CWnd对象并放弃鼠标事件
由于您返回的是
MA_NOACTIVATEANDEAT
,先前聚焦的对象将保留焦点,鼠标事件将被丢弃。

您是从函数返回
MA_ACTIVATEANDEAT
还是
MA_NOACTIVATEANDEAT
?很抱歉出现延迟。这是我以为我做过的事,但唉没有。