如题,所指为在基于对话框的MFC程序中所使用的Edit控件,
当光标在其中时,按下回车键
获得的是什么消息,由谁截获
谢谢

解决方案 »

  1.   

    WM_KEYDOWN message and wparam == VK_RETURN
    you can use TranslateMessage dealing with it
      

  2.   

    利用PreTranslatemessage可以做很多事情1)屏蔽dialog的回车,ESC
    重载PreTranslateMessage()
    使用GetFocus()得到焦点
    对于相应的控件执行相应的操作,否则返回TRUEif( GetFocus()->GetDlgCtrlID() == IDC_EDIT1 )
    {
         if( pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN )
         {
               ...
         }
         else if
               ...
         else
               return TRUE;
         return CDialog::Pre...
    }
    2)移动焦点控件
    NextDlgCtrl()
    3)在文本框中输入字符,例如回车执行某一个事件,比如打开这个文本框中的字符对应的文件等。
      

  3.   

    原来如此,我一直以为是WM_CHAR消息呢
    谢谢各位
      

  4.   

    WM_CHAR当然可以了
    ---------------------
    最好自己派生一个CEdit类
    CSuperEdit:public CEdit
    {
    ...
    };
    然后对其添加WM_CHAR消息响应函数
    在向应函数里面你爱怎么处理都行最后子类化就OK!
      

  5.   

    WM_CHAR消息是已被翻译的ASCII码
    WM_KEYDOWN消息是原始的虚拟键码,对吧
    可是WM_KEYDOWN消息之后,紧跟着就会有WM_KEYUP消息的吧
    处理它也可以吧