MFC Edit控件之enter回车捕捉
MFC Edit控件之enter回车捕捉
1、 构建基本框架
当输入框检测到enter按下,输入框数值将赋值到相关变量并在对应输出框显示。
2、 添加相关变量
四个Edit控件ID依次为:
IDC_EDITIN1、IDC_EDITOUT1、IDC_EDITIN2、IDC_EDITOUT2
添加对应变量:
m_editIn1、m_editOut1、m_editIn2、m_editOut2
3、 添加键盘消息处理函数
使用类向导重写虚函数PreTranslateMessage
PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当你需要在MFC之前处理某些消息时,常常要在这里添加代码.。
在该函数里添加代码:
BOOL CEditEnterCatchDlg::PreTranslateMessage(MSG*pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (WM_KEYDOWN ==pMsg->message && VK_RETURN == pMsg->wParam)
{
if (GetFocus() == GetDlgItem(IDC_EDITIN1)) //根据不同控件焦点判断是那个在执行
{
UpdateData(TRUE);
m_editOut1 = m_editIn1;
UpdateData(FALSE);
}
if (GetFocus() == GetDlgItem(IDC_EDITIN2)) //根据不同控件焦点判断是那个在执行
{
UpdateData(TRUE);
m_editOut2 = m_editIn2;
UpdateData(FALSE);
}
MessageBox(_T("Enter Catched!"));
return true;
}
return CDialogEx::PreTranslateMessage(pMsg);
}
4、 运行效果
OK大功告成!如有问题欢迎和博主交流。
资源下载:http://download.csdn.net/detail/cracent/9473111
- 上一篇: java 基础数据遍历(2)----二维数组查找
- 下一篇: Fiddler抓取微信公众号数据