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

关于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()

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kanbang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值