VC 防止對話方塊中按回車或ESC時視窗關閉

2021-06-20 14:01:57 字數 482 閱讀 3610

vc++防止對話方塊中按回車或esc時視窗關閉 

首先在標頭檔案中宣告函式

virtual bool pretranslatemessage(msg* pmsg); // 防止按回車或esc時視窗關閉

之後在對應的dlg.cpp中加入函式定義

bool cpg1104adlg::pretranslatemessage(msg* pmsg)

{// todo: 在此新增專用**和/或呼叫基類

if(pmsg->message==wm_keydown && pmsg->wparam==vk_escape)

return true; 

if(pmsg->message==wm_keydown && pmsg->wparam==vk_return)

return flase; 

else 

return cdialog::pretranslatemessage(pmsg);

親測成功

MFC對話方塊程式遮蔽回車與ESC鍵

取消掉 確定 按鈕的default button屬性,按回車鍵程式依然會退出,即使把 確定 按鈕刪除掉,效果也是一樣。看了下 inside visual c 引用一下書中的原話 當使用者按下enter鍵時,windows就會自動去查詢 輸入焦點 落在了哪乙個按鈕上,獲得焦點的按鈕的四周將被點線矩形框...

MFC對話方塊程式遮蔽回車與ESC鍵

取消掉 確定 按鈕的default button屬性,按回車鍵程式依然會退出,即使把 確定 按鈕刪除掉,效果也是一樣。看了下 inside visual c 引用一下書中的原話 當使用者按下enter鍵時,windows就會自動去查詢 輸入焦點 落在了哪乙個按鈕上,獲得焦點的按鈕的四周將被點線矩形框...

MFC對話方塊應用程式按下回車鍵或者ESC鍵自動關閉

原文已經找不到鏈結,因此選了 原創 侵刪 mfc對話方塊應用程式中,按下回車鍵或者esc鍵,對話方塊會自動關閉。當使用者按下enter鍵時,程式就會自動去查詢 輸入焦點 落在了哪乙個按鈕上,獲得焦點的按鈕的四周將被點線矩形框所包圍。如果所有按鈕都沒有獲得輸入焦點,windows就會自動去尋找程式或資...