OnKillFocus()在奇数次触发MFC时覆盖

时间:2008-10-16 00:32:19

标签: c++ events mfc overrides onkillfocus

我需要知道我的Window何时没有输入焦点,所以我重载了CWnd的OnKillFocus()方法。

但是,当我关注另一个应用程序(alt + tab)或甚至最小化窗口时,它不会调用此方法。但是当我从最小化恢复它时,它会调用该方法。这些是触发此方法的预期时间吗?

2 个答案:

答案 0 :(得分:1)

如果您需要确保在应用程序关闭时收到通知,我认为您需要一个CWnd :: OnActivateApp()处理程序。

答案 1 :(得分:1)

OnKillFocus()通常仅用于具有获得焦点概念的控件 - 按钮,编辑框,列表框等。通常CWnd不接受焦点,所以你不能依赖它 - 我我很惊讶你得到它。

除了上面提到的WM_ACTIVATEAPP之外,在您可能想要捕获的同一个应用程序中的窗口之间切换时,还有WM_ACTIVATE