想找这样的资源焦点在编辑框中的时候按回车能弹出MessageBox,有这样类似的代码吗?

解决方案 »

  1.   

    BOOL CMyDialog::PreTranslateMessage(MSG* pMsg) 

        if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) 
        { 
            switch (::GetDlgCtrlID(pMsg->hwnd)) 
            { 
            case IDC_EDIT1: 
                MessageBox(....);
                return TRUE; 
            } 
        }     return CDialog::PreTranslateMessage(pMsg); 
    } 或: void CMyDialog::OnOK() 

        CWnd *pWnd = GetFocus(); 
        if (pWnd) 
        { 
            switch (pWnd->GetDlgCtrlID()) 
            { 
            case IDC_EDIT1: 
                MessageBox(...)
                return; 
            } 
        }     CDialog::OnOK(); 

      

  2.   

    我想要重新自己写一个继承自CEdit的类,自己处理return按下的消息。这种方法怎么实现
      

  3.   

    //试试这样:BOOL CMyEdit::PreTranslateMessage(MSG* pMsg) 

        if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) 
        { 
            MessageBox(....); 
            return TRUE; 
        }     return CEdit::PreTranslateMessage(pMsg); 

      

  4.   

    2楼的方法已经有了,只要改写一下即可!如果你自己写了一个CMyEdit类,基础CEdit,可以这样!
    BOOL CMyEdit::PreTranslateMessage(MSG* pMsg) 

        if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) 
        { 
            
                MessageBox(....); 
                return TRUE; 
              }     return CEdit::PreTranslateMessage(pMsg);