牛骨文教育服务平台(让学习变的简单)
博文笔记

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

创建时间:2017-07-02 投稿人: 浏览次数:207

应用背景:

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

技术分析:

一般的二维码信息最后都会有一个回车字符( 或者 )。这样在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);
}



声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。