MFC基于对话框程序的键盘响应

1894 人浏览 | 时间: 2015-06-25 16:45:23 | 作者: codexia

    基于对话框的MFC程序,基类有OnOk和OnCancel两个函数,分别是响应确定和取消按钮退出程序的。如果生成程序时,将这两个按钮删掉而没有重载这两个函数的话,那么按回车键或ESC键就会退出程序,因为默认的确定按钮和回车键都是调用基类的OnOk函数来结束程序,ESC键和取消按钮是调用基类的OnCancel函数来结束程序的,其中窗口右上角以及系统菜单的关闭程序都是调用OnCancel按钮来结束程序的,如果重载了这两个函数而什么也不做的话,那不能够从程序中正常退出。
    解决办法就是在这两个函数的重载版本中实现关闭功能,同时还可以实现其他功能。但是对话框中的控件的键盘响应就不能简单的重载这两个函数了,因为这样的话还要进行鼠标单击的测试,就麻烦了点。这样最好的解决方法是:截获键盘消息,将主窗口的回车和ESC键屏蔽,然后截获控件的键盘消息进行响应,自然,基类的这两个函数就无法执行了,从而达到要求。
    解决方法1:重载虚函数OnOK()和OnCancel()
    如图所示:
   

请微信扫码阅读。
为防止恶意爬虫,
已开启反爬机制,
理解哟~~~~
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0

相关阅读