我需要知道我的Window何时没有输入焦点,所以我重载了CWnd的OnKillFocus()方法。
但是,当我关注另一个应用程序(alt + tab)或甚至最小化窗口时,它不会调用此方法。但是当我从最小化恢复它时,它会调用该方法。这些是触发此方法的预期时间吗?
答案 0 :(得分:1)
如果您需要确保在应用程序关闭时收到通知,我认为您需要一个CWnd :: OnActivateApp()处理程序。
答案 1 :(得分:1)
OnKillFocus()通常仅用于具有获得焦点概念的控件 - 按钮,编辑框,列表框等。通常CWnd不接受焦点,所以你不能依赖它 - 我我很惊讶你得到它。
除了上面提到的WM_ACTIVATEAPP
之外,在您可能想要捕获的同一个应用程序中的窗口之间切换时,还有WM_ACTIVATE
。