任何控件都是这样:checkbox,edit,combobox
除了已经编写了事件函数的button控件如何解决这个问题多谢指点

解决方案 »

  1.   

    重载OnOK函数
    void C**Dialog::OnOK()
    {
        //CDialog::OnOK;//将缺省的这句话注释掉就OK了。
    }
      

  2.   

    方法1:
    void CTest6Dlg::OnOK()
    {
        //CDialog::OnOK;//将缺省的这句话注释掉就OK了。
    }
    方法2:
    BOOL CTest6Dlg::PreTranslateMessage(MSG* pMsg) 
    {
    if( pMsg->message == WM_KEYDOWN )

    switch( pMsg->wParam )
    {
    case VK_RETURN:
    return TRUE;
    } }

    return CDialog::PreTranslateMessage(pMsg);
    }
      

  3.   

    查看“确定”按扭的属性,在style里面把Default button这个钩去掉就行了。
      

  4.   

    你按回车对应对话框的“OK”按钮
    按ESC对应对话框的“Cancel”按钮就按楼上各位说的把处理OK,Cancel的函数里的//CDialog::..... 屏蔽掉就可以了
      

  5.   

    删掉也不要紧。可以使用小三的第二种方法。
    也可以自己写OnOK函数。在.h中写virtual void OnOK();
    在.cpp中写void C**Dlg::OnOK()
    {
    }
    就可以了。
    或者你加个按钮,ID号用IDOK,然后响应事件就是OnOK了。再吧按钮删除。
    仅供参考
      

  6.   

    BOOL CTest6Dlg::PreTranslateMessage(MSG* pMsg) 
    {
        if( pMsg->message == WM_KEYDOWN && pMsg->wParam==VK_RETURN) pMsg->wParam=VK_TAB;

        return CDialog::PreTranslateMessage(pMsg);
    }
      

  7.   

    多谢各位,问题解决了,:)
    最后我加了IDOK按钮,生成OnOK,然后注释掉了内容。
    没有采用其他方法。
    因为:
    1.如果用 lixiaosan(小三) 的方法二:
    焦点移到button上时,按回车就不能响应OnButton事件了
    2.如果用 ncxyq()的方法
    焦点移到button上时,按回车和按TAB的反应是一样的。最后想知道:
    用后两种方法,有没有可能:
    焦点移到button上时,按回车还能响应OnButton?