3

我需要知道我的窗口何时失去输入焦点,所以我重载了 CWnd 的 OnKillFocus() 方法。

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

4

2 回答 2

1

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

于 2008-10-16T14:17:05.037 回答
1

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

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

于 2008-10-16T14:23:08.923 回答