1.1模態對話方塊(model dialog box)
當模態對話方塊顯示時,程式會暫停執行,直到關閉這個模態對話方塊之後,才能執行程式中的其他任務。
1.2非模態對話方塊(modeless dialog box)
當非模態對話方塊顯示時,執行轉而執行程式中的其他任務,而不用關閉這個對話方塊。
2.1模態對話方塊的實現
void cmodelctrdlg::onbnclickedbutton1()testdialog1是我建立的乙個對話方塊相關的對話方塊類。
cdialog::domodel:該函式的功能就是建立並顯示乙個模態對話方塊。
2.2非模態對話方塊實現
void cmodelctrdlg::onbnclickedbutton2()上面程式因為dlg指標變數是在堆上儲存的, 且只有程式結束才能釋放, 如果要手動釋放的話要增加額外的**,因此這種寫法不太合適。
2.2.1改進**
首先在主對話方塊建立乙個testdialog2型別成員指標變數:
private:再在相應的function加上以下**:testdialog2 *dlg;
dlg = new testdialog2;最後在主對話方塊類析構函式中加入dlg->create(idd_dialog2);//建立乙個非模態對話方塊 idd_dialog2是我建立的一對話方塊id
dlg->showwindow(sw_shownormal);//顯示非模態對話方塊
delete dlg;
MFC模態與非模態對話方塊
1.1模態對話方塊 model dialog box 當模態對話方塊顯示時,程式會暫停執行,直到關閉這個模態對話方塊之後,才能執行程式中的其他任務。1.2非模態對話方塊 modeless dialog box 當非模態對話方塊顯示時,執行轉而執行程式中的其他任務,而不用關閉這個對話方塊。2.1模態對...
MFC中模態與非模態對話方塊
vc 中非模態對話方塊生成與模態有相似之處,主要不同在於模態採用domodal函式生成,而非模態採用create函式 而且非模態對話方塊生存週期較長,一般和父視窗的生存週期相同。到新增類一步,非模態與模態都是相同的.但由於要使用create函式,因為要在生成非模態對話方塊的父視窗中新增對話方塊類的指...
模態對話方塊與非模態對話方塊
1.對話方塊分類 按工作方式不同,可將對話方塊分成兩類 模態對話方塊 modal 在關閉模態對話方塊之前,程式不能進行其他工作 如一般的 開啟檔案 對話方塊 非模態對話方塊 modeless 非模態對話方塊開啟後,程式仍然能夠進行其他工作 如一般的 查詢與替換 對話方塊 2.對話方塊建立 模態對話方...