本人在SDI的CFormView中加入了两个控件:CEdit输入框和CButton按钮。一般情况是:在CEdit中输入若干字符后,再点击CButton按钮,就可以通过
CButton::OnClick()函数完成预定的功能。但是,我想在CEdit输入框中输完字符后,直接按回车键即可启动某函数或调用OnClick,
但我不知道怎样响应CEdit的回车信号,急盼各位给个提示。

解决方案 »

  1.   

    CEdit响应EN_KILLFOCUS或者EN_UPDATE事件就可以实现你说要的功能
      

  2.   

    设置按钮为缺省按钮,或直接定义一个快捷键。也可在VIEW中响应WM_CHAR消息。
      

  3.   

    附:我试过将按钮的ID改成IDOK,即可响应CEdit中的回车键了,请高手讲解一下这是为什么啊?还有,我不想把按钮ID改成IDOK,那有什么办法响应回车键呢?
      

  4.   

    假设你的编辑控件和按钮控件定义如下:
    CEdit m_edit;
    CButton m_button;
    重载View类的虚函数PreTranslateMessage(MSG* pMsg),加入如下代码:if (pMsg->hwnd == m_edit.GetSafeHwnd())
    {
    if (pMsg->message == WM_KEYDOWN)
    {
    //编辑控件的WM_KEYDOWN事件
    if (pMsg->wParam == VK_RETURN)
    {
    //在这里调用你的按钮的点击事件
    ... return TRUE;
    //这表示你已经处理了该消息,不需要再处理了
    //如果你还想编辑控件继续处理,则可以不需要return
    }
    }
    }