MFC彈出模擬對話方塊

2022-03-15 06:05:40 字數 1501 閱讀 8767

windows對話方塊分為兩類:模態對話方塊和非模態對話方塊。

模態對話方塊是這樣的對話方塊,當它彈出後,本應用程式其他視窗將不再接受使用者輸入,只有該對話方塊響應使用者輸入,在對它進行相應操作退出後,其他視窗才能繼續與使用者互動。  非模態對話方塊則是,它彈出後,本程式其他視窗仍能響應使用者輸入。非模態對話方塊一般用來顯示提示資訊等。

接下用用vs2010建立示例:

1、新建mfc應用程式:

2、在mfc應用程式嚮導中設定應用程式型別為「基於對話方塊」型別:

然後,後面直接預設,點選完成即可;

4、在資源檢視中新增模擬對話方塊:

選中dialogex.rc右鍵選擇新增對話方塊操作:

新增完效果如圖所示,可以在dialog資源檢視中看到有個新加的對話方塊:

6、為dialog對話方塊新增類:(右擊->新增類):

在此命名為cmydialog;

7、回到主對話方塊idd_dialogex_dialog為「彈出模擬對話方塊」新增按鈕點選的事件處理程式:

在函式void cdialogexdlg::onbnclickedbutton1()中新增如下**:

int_ptr nres;             //

用於儲存domodal函式的返回值

cmydialog mydlg;

//構造對話方塊類cmydialog的例項

nres = mydlg.domodal(); //

彈出對話方塊

並且在dialogexdlg.cpp中包含包含cmydialog的標頭檔案:#include "mydialog.h",儲存後,即可檢視執行效果;

8、執行:

同時彈出多個對話方塊 MFC

設定2個對話方塊,發現只能彈出乙個。檢視 在 cpp中 int ptr nresponse dlg.domodal domodal 函式 讓對話方塊模式生效,主要還是用來彈出乙個對話方塊。檢視dlg是c dlg型別物件,於是修改其為第2個對話方塊類,可以彈出第2個對話方塊。修改新增兩段 後,發現問題...

彈出對話方塊

先定義 private view view private alertdialog mprotocoldialog 彈出對話方塊 private void loadprotocol mprotocoldialog new alertdialog.builder this settitle getst...

彈出對話方塊

call function popup to confirm exporting titlebar diagnose object text question anything else?text button 1 yes?icon button 1 15 text button 2 no 002 ...