程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 在CDialog中,如何使按“ESC” 回車鍵 失效

在CDialog中,如何使按“ESC” 回車鍵 失效

編輯:.NET實例教程
使回車鍵失效:重載OnOK()函數  
  afx_msg   void   OnOK();  
   
  void   CTestDlg::OnOK()  
  {  
      可以不寫任何代碼  
  }  
   
  使ESC失效:重載   OnCancel()  
  afx_msg   void   OnCancel();  
  void   OnCancel()  
  {  
  }  
   
  如果同時使ESC和ENTER鍵失效了,窗口好象就不能關閉了,點擊X按鈕也不行,這時建議你在
void   CClockDlg::OnSysCommand(UINT   nID,   LPARAM   lParam)  
  {  
  if   ((nID   &   0xFFF0)   ==   IDM_ABOUTBOX)  
  {  
  CAboutDlg   dlgAbout;  
  dlgAbout.DoModal();  
  }  
  else   if(nID   ==   SC_CLOSE)  
  OnExit();       //加入這兩行,自行處理關閉窗口  
  else  
  {  
  CDialog::OnSysCommand(nID,   lParam);  
  }  
  }

重載PreTranslateMessage()函數。  
  如下:  
  BOOL   CTest1Dlg::PreTranslateMessage(MSG*   pMsg)    
  {  
  //   TODO:   Add   your   specialized   code   here   and/or   call   the   base   class  
  BOOL   bHandleMsg=FALSE;  
  if(VK_ESCAPE==pMsg->wParam)  
  bHandleMsg=TRUE;  
  return   (TRUE==bHandleMsg?
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved