显示MessageBox后,子窗口失去焦点

时间:2012-05-11 12:04:16

标签: c++ winapi

所以我创建了一个主窗口,其中我创建了一个2个子窗口。它们都有不同的 WindowProcs 。在主窗口的WM_CREATE消息中,我将焦点放在SetFocus(...)的一个子窗口上。从子窗口proc显示MessageBox后,焦点将重新设置为主窗口。如何将注意力集中在子窗口上?

1 个答案:

答案 0 :(得分:4)

当消息框窗口为destroyed时,Windows会将另一个顶级窗口设为active window。如果这不是您想要的,则由您来回复您的主要(顶级)窗口将收到的WM_SETFOCUS消息,并使用SetFocus()将焦点指向孩子。