MFC对话框程序屏蔽ESC和ENTER键退出,完美解决方案

关于MFC CDialog对ESC和ENTER免疫的问题,有很多网友问,也有很多网友答,其中的道道很多网友都有解释,我就不啰嗦了

直接贴代码吧,我在很多工程里都用的,让遇到这个问题的朋友少走点弯路,不过其中的细节原由最好还是自己想明白

template
class TDlgBanEscEnter : public TBase
{
protected:
	TDlgBanEscEnter()
	{
	}

	template
	TDlgBanEscEnter(T1 p1) : TBase(p1)
	{
	}

	template
	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()

你可能感兴趣的:(风雨兼程)