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);
}