关于MFC CDialog对ESC和ENTER免疫的问题,有很多网友问,也有很多网友答,其中的道道很多网友都有解释,我就不啰嗦了
直接贴代码吧,我在很多工程里都用的,让遇到这个问题的朋友少走点弯路,不过其中的细节原由最好还是自己想明白
template<class TBase>
class TDlgBanEscEnter : public TBase
{
protected:
TDlgBanEscEnter()
{
}
template<class T1>
TDlgBanEscEnter(T1 p1) : TBase(p1)
{
}
template<class T1, class T2>
TDlgBanEscEnter(T1 p1, T2 p2) : TBase(p1, p2)
{
}
protected:
virtual void OnOK() {}
virtual void OnCancel() {}
DECLARE_MESSAGE_MAP()
afx_msg void OnClose()
{
EndDialog(IDCANCEL);
TBase::OnClose();
}
};
BEGIN_TEMPLATE_MESSAGE_MAP(TDlgBanEscEnter, TBase, TBase)
ON_WM_CLOSE()
END_MESSAGE_MAP()