在我的应用程序中,我有一个标准的 MFC 模式对话框。当用户在对话框窗口外单击时,我想关闭该对话框。为此,我ON_MESSAGE(WM_KILLFOCUS, OnKillFocus)
手动放入了对话框的消息映射(类向导不提供该选项):
BEGIN_MESSAGE_MAP(CTestTreeCtrlDlg, CDialog)
//{{AFX_MSG_MAP(CTestTreeCtrlDlg)
ON_NOTIFY(TVN_SELCHANGED, IDC_TREE1, OnSelchangedTree)
//}}AFX_MSG_MAP
ON_MESSAGE(WM_KILLFOCUS, OnKillFocus)
END_MESSAGE_MAP()
...
void CTestTreeCtrlDlg::OnKillFocus()
{
...
}
现在,如果我在对话框外单击,后者当然会失去焦点,但由于某种原因不会调用 OnKillFocus 方法。