模式對話方塊:當對話方塊彈出後,無法操作其父視窗或者上一級視窗,直到關閉該對話方塊為止。
在主對話方塊關聯類a的情況下,模式對話方塊建立步驟:
新插入乙個對話方塊資源,並新增所需控制項
對新對話方塊生成新的對話方塊類b
對主對話方塊中的控制項建立訊息對映函式
在該訊息對映函式中建立對話方塊類b的物件,如
b dlg;
dlg.domodal();
模式對話方塊的特點:
在關閉模式對話方塊前,無法操作背景視窗,除非本身就是背景視窗。
使用dialog::domodal函式彈出模式對話方塊,該函式執行過程是阻塞函式。因此,在棧內或堆內申請對話方塊類的物件都可以,申請棧內變數開發和執行效率較高。
在主對話方塊關聯類a的情況下,非模式對話方塊建立步驟:
新插入乙個對話方塊資源,並新增所需控制項
對新對話方塊生成新的對話方塊類c
對主對話方塊中的控制項建立訊息對映函式
在該訊息對映函式中建立對話方塊類c的物件指標,如
c* pdlg =
new c;
pdlg->create(idd_test);
pdlg->showwindow(sw_show);
非模式對話方塊的特點:
在關閉非模式對話方塊前,不影響對背景視窗的操作。
使用dialog::create函式建立非模式對話方塊,該函式是非阻塞函式。因此,必須在堆內申請對話方塊資源,不能再棧內申請臨時物件,因為臨時物件在離開函式體時會自動銷毀。
MFC 對話方塊程式 模式對話方塊與非模式對話方塊
一 根據主視窗型別,mfc軟體工程可以分為以下幾種架構模型 例如 記事本和畫筆等。2 mdi multiple document inte ce 多文件介面,乙個主框架視窗下可以同時編輯多份文件。例如 vc 6.0,photoshop等軟體。3 基於對話方塊的軟體模型 主視窗是通過資源管理器,在對話...
彈出模式對話方塊和彈出非模式對話方塊
非模式對話方塊 clistlink m plistlink null ssn return pishowlistdialog in ssn object id listtype,in ssn object id listdialogid m plistlink showwindow sw show ...
Qt 非模式對話方塊
應用例項 搜尋框 建立乙個widget物件,作為主窗體的成員變數 searchwindow m searchwin m searchwin new searchwindow this m searchwin setwindowflags qt window 在使用者執行搜尋選單時顯示此視窗 int ...