對話方塊按enter會關閉的解決辦法

2021-06-22 02:27:39 字數 315 閱讀 1168

對話方塊在現實的時候,如果按下enter會關閉,是因為enter預設傳送了oncancel()訊息給視窗,所以會執行cdialog::oncancel,關閉對話方塊,這裡有兩種辦法解決:

1:在pretranslatemsg()裡面把enter按鍵截獲,這種不是正常的訊息流程。所以最好用第二種辦法。

2:就是增加訊息處理函式onok和oncancel,在裡面直接返回,不要執行cdialog::onok或者cdialog::oncancel。這種做法比較符合windows的訊息機制流程。

MFC 遮蔽ESC和ENTER鍵 關閉對話方塊

方法一 窗體標頭檔案中加入 1 protected 2 virtual bool pretranslatemessage msg pmsg pretranslatemessage是訊息在送給translatemessage函式之前被呼叫的 3public 4 virtual void onok 在c...

MFC模式對話方塊ESCAPE和ENTER退出問題

首先資源列表中按下右鍵,可以在彈出選單中選擇 插入對話方塊 然後再開啟該對話方塊進行編輯,你會在螢幕上看到乙個控制項板。你可以將所需要新增的控制項拖到對話方塊上,或是先選中後再在對話方塊上用滑鼠畫出所佔的區域。此外在對話方塊被生成是會自動呼叫bool cdialog oninitdialog 你如果...

自動關閉MessageBox對話方塊

方法1 模擬回車實現 settimer 1,1000,null messagebox test test1 在ontimer uint nidevent 中 if nidevent 1 方法2 getforegroundwindow 得到控制代碼 sendmessagecallback傳送訊息 vo...