当用AppWizard生成一个对对话后,如何屏蔽按Enter或Esc时关闭对话

解决方案 »

  1.   

    在PreTranslateMessage函数中  
    if  (pMsg-  >message==WM_KEYDOWN)  
               {  
                           nKey=int(pMsg-  >wParam);  
                           if  (nKey==VK_ESCAPE)    //是ESC健
      

  2.   

    BOOL  CYourDlg::PreTranslateMessage(MSG*  pMsg)    
    {  
           if(pMsg-  >message  ==  WM_KEYDOWN)  
           {  
                   if((pMsg-  >wParam  ==  VK_RETURN)    ¦  ¦  (pMsg-  >wParam  ==  VK_ESCAPE))  
                   return  TRUE;  
           }  
     
           return  CDialog::PreTranslateMessage(pMsg);  
    }
      

  3.   

    BOOL  CYourDlg::PreTranslateMessage(MSG*  pMsg)    
    {  
           if(pMsg-  >message  ==  WM_KEYDOWN)  
           {  
                   if((pMsg-  >wParam  ==  VK_RETURN)   ||  (pMsg-  >wParam  ==  VK_ESCAPE))  
                   return  TRUE;  
           }  
     
           return  CDialog::PreTranslateMessage(pMsg);  
    }
      

  4.   

    一开始的时候对话框中有两个默认的按钮,
    双击他们,就会进入程序编辑状态,而且他们已经有了一部分的代码CDialog::OnOK();
    CDialog::OnCancel();
    把这两句话隐掉,即可。
    然后改变原来两个空间的ID,
    如IDOK改成IDC_OK,然后双击进行程序编辑,
    加入语句CDialog::OnOK();
    如IDCANCEL改成IDC_CANCEL
    加入语句CDialog::OnCancel();
    这样就完成了。
      

  5.   

    小弟我刚学vc,在技术内幕上就是改id的