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

2021-05-28 11:52:49 字數 468 閱讀 4555

取消掉「確定」按鈕的default button屬性,按回車鍵程式依然會退出,即使把「確定」按鈕刪除掉,效果也是一樣。看了下《inside visual c++》。引用一下書中的原話:「當使用者按下enter鍵時,windows就會自動去查詢「輸入焦點」落在了哪乙個按鈕上,獲得焦點的按鈕的四周將被點線矩形框所包圍。如果所有按鈕都沒有獲得輸入焦點,windows就會自動去尋找程式或資源所指定的預設按鈕。如果對話方塊沒有預設按鈕,那麼即使對話方塊中沒有「確定」按鈕,onok函式也會自動被呼叫」

有的時候肯定是不想在按下回車鍵之後退出對話方塊程式,esc也是一樣。解決方法也很簡單,過載對話方塊的pretranslatemessage函式,然後在該函式中乾掉esc和回車這兩個按鍵的訊息。

如:bool cdialog1::pretranslatemessage(msg* pmsg)

}return cdialog::pretranslatemessage(pmsg);

}

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

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

遮蔽回車關閉對話方塊事件

假設在對話方塊上有乙個文字框idc edit colorindex,然後當在文字框輸入完畢按回車,對話方塊並不退出,而是直接執行某種功能。例中的是 onbuttonlogin 如果光是為了這個行為的話,個人覺得根本不必要用乙個類來處理這東西。有點殺雞用牛刀了。bool cmhcolordialog ...

MFC 對話方塊程式 模式對話方塊與非模式對話方塊

一 根據主視窗型別,mfc軟體工程可以分為以下幾種架構模型 例如 記事本和畫筆等。2 mdi multiple document inte ce 多文件介面,乙個主框架視窗下可以同時編輯多份文件。例如 vc 6.0,photoshop等軟體。3 基於對話方塊的軟體模型 主視窗是通過資源管理器,在對話...