MENU

MFC实现编辑框对回车键的响应

March 14, 2018 • Read: 1185 • C/C++阅读设置

首先把文本编辑框属性里的want return选上。

然后可以通过重载虚函数PreTranslateMessage()对所关心的消息进行解析

BOOL CTestView::PreTranslateMessage(MSG* pMsg)
 {
      if (WM_KEYFIRST <= pMsg-> message && pMsg-> message <= WM_KEYLAST) 
    {
       if(pMsg-> wParam==VK_RETURN ) 
       {
           UpdateData(TRUE);
           AfxMessageBox(m_Text); 
       }
    }
    return CFormView::PreTranslateMessage(pMsg); </span>
}

在上面的代码中,首先将pMsg-> message所表示的消息同WM_KEYFIRST 和WM_KEYLAST比较,确定是键盘消息,然后通过消息参数pMsg-> wParam的值来判断是否是回车键(VK_RETURN,虚拟键码可以从SDK相关资料查到)。如是,则可以将已输入到编辑框中的字符读取到m_Text中,并将其显示出来。

Ps.相关资料
用VC实现特定编辑框上对回车键响应
关于如何在对话框中响应键盘按键(重载虚函数PreTranslateMessage)的解说