用vc创建一个基于对话框的应用程序,当按<ESC>键时,程序会退出。如何才能做到当按
<ESC>键时,程序不退出?

解决方案 »

  1.   

    双击CANCEL按钮,屏蔽
    //CDialog::OnCancel();
    就可以了
      

  2.   

    在C*Dlg::PreTransMessage(CMsg* pmsg)里处理
    if (pmsg->message==WM_CHAR&&pmsg->lparam==..)return;
      

  3.   

    重载函数OnCancel() ,将里面的CDialog::OnCancel();一句屏蔽即可。void CTestDlg::OnCancel() 
    {
    // TODO: Add extra cleanup here

    // CDialog::OnCancel();
    }
      

  4.   

    将oncancel的缺省实现注释掉即可
      

  5.   

    重载PreTranslateMessage函数。
    BOOL CCXXX::PreTranslateMessage(MSG* pMsg) 
    {
        if(pMsg->message == WM_KEYDOWN)
        {
            switch(pMsg->wParam)
            {
            case VK_RETURN://屏蔽回车
                return TRUE;
            case VK_ESCAPE://屏蔽Esc
                return TRUE;
            }
        }
        return CDialog::PreTranslateMessage(pMsg);

      

  6.   

    都有三个人说了,都说对了,我就不说了。good luck.