模態和非模態對話方塊兩者的區別

2021-09-06 04:07:52 字數 534 閱讀 1035

void

cmodelessdialog::postncdestroy

這樣,在刪除螢幕上的對話方塊後,對話方塊物件將被自動刪除。擁有者就不必顯式地呼叫delete來刪除對話方塊物件了。  

六. 必須有乙個標誌表明非模態對話方塊是否開啟的。這樣做的原因是使用者有可能在開啟乙個模態對話方塊的情況下,又一次選擇開啟命令。程式根據標誌來決定是開啟乙個新的對話方塊,還是僅僅把原來開啟的對話方塊啟用。通常可以用擁有者視窗中的指向對話方塊物件的指標作為這種標誌,當對話方塊關閉時,給該指標賦null值,以表明對話方塊物件已不存在了。  

例如:  

建立模態對話方塊  

ctestdlg dlg;  

dlg.domodal();

建立非模態對話方塊  

ctestdlg * dlg = new

ctestdlg;

dlg->create(idd_test_dlg);

dlg->showwindow(sw_show);

模態和非模態對話方塊兩者的區別

void cmodelessdialog postncdestroy 這樣,在刪除螢幕上的對話方塊後,對話方塊物件將被自動刪除。擁有者就不必顯式地呼叫delete來刪除對話方塊物件了。六.必須有乙個標誌表明非模態對話方塊是否開啟的。這樣做的原因是使用者有可能在開啟乙個模態對話方塊的情況下,又一次選擇...

模態對話方塊和非模態對話方塊的區別

假設對話方塊類名為 ctestdlg 1,如果是模態對話方塊 ctestdlg ctd 建立該對話方塊對像 ctd.domodale 2,如果是非模態的 ctestdlg p ctd new ctestdlg 建立對話方塊的對像指標 p ctd create idd reading,this 指標呼...

模態對話方塊和非模態對話方塊的區別

如果是模態的,那麼彈出後該程式的其它視窗就呈不可用的狀態,原來程式暫停執行,直到這個模態視窗關閉後才回到原來程式繼續。非模態的就是直接顯示出來,然後原來的程式繼續執行下面的語句,而且其它視窗也呈可用狀態。以下是具體的區別。1 非模態對話方塊通常包含乙個標題列和乙個系統選單按鈕。當您在develope...