重载OnOk可以处理[enter],
可是按[esc]还是退出。

解决方案 »

  1.   

    按enter箭退出由于idok是默认的按钮tab,重新设置吧重载虚函数pretranslate可防止esc,alt+F4响应。
      

  2.   

    1.重载OnOk();其中去掉CDialog:OnOk();
    2.重载OnCancel();其中去掉CDialog:OnCancel();
      

  3.   

    同时重载OnOk()和OnCancel()
    去掉CDialog:OnOk()和CDialog:OnCancel()
    那程序就不能退出了,害我kill了一把。
    怎么办?
      

  4.   

    最原始的办法,在CWinApp的PreTranslateMessage中过滤WM_KEYDOWN消息,虚拟
    健是VK_RETURN
      

  5.   

    BOOL CSF1Dlg::PreTranslateMessage(MSG* pMsg) 
    {
    if(pMsg->message == WM_KEYDOWN)
    {
    switch(pMsg->wParam)
    {
    case VK_RETURN:
    return TRUE;
    break; case VK_ESCAPE:
    return TRUE;
    break;
    }
    }
    return CDialog::PreTranslateMessage(pMsg);
    }
      

  6.   

    1.把OnOK()与OnCancle()掏空。注意函数架子别去掉
    2.在你要退出dlg的地方调用CDialog::OnOK()或OnCancel()既可。
      

  7.   

    to sky2k(午马);
    你再加一个按钮,其中加入
    CDialog:OnOk();作为退出。