在标准的Edit Control Messages中,一般都是以EM或EN打头的控件消息,属于它自身控件的以
WM开头的有
WM_COMMAND
WM_COPY
WM_CTLCOLOREDIT
WM_CUT
WM_PASTE
WM_UNDO 
但是它是从CWnd类继承的,所以应当可以接收到KeyDown或输入字符的消息。

解决方案 »

  1.   

    但是在Events里面没法添加处理函数呀
      

  2.   

    自定义消息吧,你是要在Edit中显示文本吗,用
    SendMessage( 
      (HWND) hWnd,              // handle to destination window 
      WM_SETTEXT,               // message to send
      (WPARAM) wParam,          // not used; must be zero
      (LPARAM) lParam           // window-text string (LPCTSTR)
    );这个就可以设置它的内容了。
    要不然自己定义一个WM_CHAR的消息处理函数,效果是一样的
      

  3.   

    要象QQ一样按Ctrl+Enter后发送消息,所以要处理Ctrl+Enter按键消息
      

  4.   

    同意楼上的所说。比如这样接受一个wm_char
    if ((pMsg->message==WM_CHAR)
      &&(pMsg->hwnd==this->GetDlgItem(IDC_EDIT2)->m_hWnd))
    {CString test;
    test.Format("你按了 %d键",pMsg->wParam);
    this->SetWindowText(test);}
      

  5.   

    BOOL xxxx::PreTranslateMessage(MSG* pMsg) 
    {
    if( pMsg->message == WM_KEYDOWN )
        {
            if(pMsg->wParam == VK_RETURN)
            {
                ::TranslateMessage(pMsg);
                ::DispatchMessage(pMsg);
                return TRUE;                    // DO NOT process further
            }
        }
    return CPropertyPage::PreTranslateMessage(pMsg);
    }可以截获回车按钮!!
      

  6.   

    实现 Ctrl+Enter 响印可以定义加速键
      

  7.   

    有的,怎么会没有?
    你可以从CEdit派生一个新类,然后看看ClassWizard,那些消息是不是都有了?
    然后你可以使用你的新类来Create控件。
      

  8.   

    定义 Ctrl+Enter 的加速键就可以处理 Ctrl + Enter
    既方便有不会出错
      

  9.   

    我是在资源编辑器中向对话框中加了一个Edit控件,然后用Event给Edit控件添加消息处理函数,但是发现只有几个以EN开头的消息,没有WM_CHAR或WM_KEYDOWN等
      

  10.   

    不会啊,选择Edit控件,按Ctrl+W。