MFC中获取控件上回车键(enter)的事件

来源:互联网 发布:java中的排序函数 编辑:程序博客网 时间:2024/06/08 05:55

应用背景:

MFC界面上一个EditControl编辑框,用二维码扫描枪扫描到二维码,解密二维码中数据,自动显示信息到编辑框内。

技术分析:

一般的二维码信息最后都会有一个回车字符(\n或者\r\n)。这样在mfc控件中,监听回车事件即可,具体在PreTranslateMessage中实现

代码如下:

BOOL CTestDlg::PreTranslateMessage(MSG* pMsg){if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE){//不响应键按下和空格键return TRUE;}else if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN && pMsg->wParam){ //响应回车键if (GetFocus() == GetDlgItem(IDC_EDIT_ONE)){//TODO//处理事件,比如解析二维码信息}else if (GetFocus() == GetDlgItem(IDC_EDIT_TWO)){//TODO//处理事件}else{//TODO}//拦截事件return TRUE;}return CDialog::PreTranslateMessage(pMsg);}