2008-10-16 26 views
2

我需要知道我的窗口何時離開輸入焦點,所以我重載了CWnd的OnKillFocus()方法。OnKillFocus()覆蓋MFC觸發在奇數時間

但是,當我關注另一個應用程序(alt + tab)時,它不會調用此方法,或者甚至最小化窗口。但是,當我從最小化恢復它時,它會調用該方法。這些是它觸發這種方法的預期時間嗎?

+0

此窗口是您的主應用程序還是其中的一個控件? – 2008-10-16 13:25:11

回答

1

我想你需要一個CWnd :: OnActivateApp()處理程序,如果你需要確保在你的應用程序被關閉時得到通知。

1

OnKillFocus()通常只用於具有獲得焦點概念的控件 - 按鈕,編輯框,列表框等。通常,CWnd不接受焦點,因此您不能依賴該焦點 - 我很驚訝你能得到它。

除了上面提到的WM_ACTIVATEAPP之外,在同一個應用程序中的窗口之間切換時,您也可能想要陷入,還有WM_ACTIVATE