关注
知道了麻烦告诉我一声:[email protected]

解决方案 »

  1.   

    重载OnOK(),函数中什么都不做,就可以去掉回车的影响。控制焦点指向用GotoDlgCtrl,你可以查一下MSDN中的用法。
      

  2.   

    说详细点:在重载的函数中这样写:
    if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) {
         m_obj.SetFocus();
         return;
    }
      

  3.   

    同意wangzhen_bupt(王真) !!!!!!!!
      

  4.   

    重载PreTranslateMessage
    if(pMsg->message==WM_KEYDOWN)
    {
    CWnd* pWnd = CWnd::FromHandle(pMsg->hwnd);
    int CtrlID=pWnd->GetDlgCtrlID(); if(pMsg->wParam==13)
    {
    if(CtrlID==IDC_CURRENT_ID)
    {
    GetDlgItem(IDC_NEXT_ID)->SetFocus();
    }
    else if(CtrlID==IDC_NEXT_ID)
    {
    GetDlgItem(IDC_NEXT_NEXT_ID)->SetFocus();
    }
    return TRUE;
    }
    }
      

  5.   

    对话框上有OK时,重载OnOK(),将CDialog::OnOK()删掉
    同理      CDialog::OnCancel();删掉
      

  6.   

    同意maptrix()!!!!!!! 
      

  7.   

    用不着重载PreTranslateMessage,重载OnOk,OnCancel就足够了.
      

  8.   

    IDC_CURRENT_ID,IDC_NEXT_ID,IDC_NEXT_NEXT_ID只是一个示例,真正的应该是你窗体里的某个控件,我是想说明是你想顺序获得焦点控件的ID,上面还有一些提出的别的方法,只能解决不能退出的问题,但是不能顺序的让你的控件获得焦点。
      

  9.   

    重载OnOK(),函数中什么都不做,就可以去掉回车的影响。
      

  10.   

    楼上说的对,重载不一定要有IDOK按钮的。好好看一下C++吧