關於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()