屏蔽回车关闭对话框事件

假设在对话框上有一个文本框IDC_EDIT_COLORINDEX,然后当在文本框输入完毕按回车,对话框并不退出,而是直接执行某种功能。例中的是
OnButtonLogin()。
如果光是为了这个行为的话,个人觉得根本不必要用一个类来处理这东西。有点杀鸡用牛刀了。

BOOL CMhColorDialog::PreTranslateMessage(MSG* pMsg)
{
  if(pMsg->message == WM_KEYDOWN)
  {
    if(pMsg->wParam == VK_RETURN)
    {
       UINT nID = GetFocus()->GetDlgCtrlID();
       switch( nID)
       {
          case IDC_EDIT_USER:
               OnButtonLogin();
               return 1;
          default:
               return TRUE;
       }
     }
  }

  return CExpandingDialog::PreTranslateMessage(pMsg); //执行基类调用。
}

原文地址:https://www.cnblogs.com/superch0054/p/4010246.html