我需要知道我的窗口何時離開輸入焦點,所以我重載了CWnd的OnKillFocus()方法。OnKillFocus()覆蓋MFC觸發在奇數時間
但是,當我關注另一個應用程序(alt + tab)時,它不會調用此方法,或者甚至最小化窗口。但是,當我從最小化恢復它時,它會調用該方法。這些是它觸發這種方法的預期時間嗎?
我需要知道我的窗口何時離開輸入焦點,所以我重載了CWnd的OnKillFocus()方法。OnKillFocus()覆蓋MFC觸發在奇數時間
但是,當我關注另一個應用程序(alt + tab)時,它不會調用此方法,或者甚至最小化窗口。但是,當我從最小化恢復它時,它會調用該方法。這些是它觸發這種方法的預期時間嗎?
我想你需要一個CWnd :: OnActivateApp()處理程序,如果你需要確保在你的應用程序被關閉時得到通知。
OnKillFocus()通常只用於具有獲得焦點概念的控件 - 按鈕,編輯框,列表框等。通常,CWnd不接受焦點,因此您不能依賴該焦點 - 我很驚訝你能得到它。
除了上面提到的WM_ACTIVATEAPP
之外,在同一個應用程序中的窗口之間切換時,您也可能想要陷入,還有WM_ACTIVATE
。
此窗口是您的主應用程序還是其中的一個控件? – 2008-10-16 13:25:11