Duilib 模態對話方塊和非模態對話方塊

2021-06-27 20:28:15 字數 784 閱讀 3369

[cpp]view plain

copy

void

cmaindlg::dotask()    

pdlg->create 的引數1,開始寫成了null, 子視窗彈出後, 還可以操作主視窗.

因為要彈出模態對話方塊, 跟進 pdlg->showmodal(),  看到了duilib禁止主視窗的**,  才想到引數1應為父視窗視窗控制代碼.

可以看出, 當要彈出非模態視窗時, 可以將pdlg->create 的引數1 填成 null.

[cpp]view plain

copy

uint

cwindowwnd::showmodal()  

;  while

( ::iswindow(m_hwnd) && ::getmessage(&msg, null, 0, 0) )   

if( !cpaintmanagerui::translatemessage(&msg) )   

if( msg.message == wm_quit ) 

break

;  }  

::enablewindow(hwndparent, true);  

::setfocus(hwndparent);  

if( msg.message == wm_quit ) ::postquitmessage(msg.wparam);  

return

nret;  

}  

模態對話方塊和非模態對話方塊

模態對話方塊和非模態對話方塊的區別 在這裡我就說的比較通俗易懂了,就是當你開啟乙個模態對話方塊時,你的焦點不能轉移到程式的其他視窗上,也就是你只能先響應模態對話方塊,才能進行成下面的操作。而非模態對話方塊則相反,你可以不用管它,照常能夠將其他視窗啟用。建立模態對話方塊,主要是應用對話方塊的domod...

模態對話方塊和非模態對話方塊

模態對話方塊 關閉才能返回,非模態 不關閉就能返回 在資源裡新建立二個對話方塊 為新的對話方塊建立乙個類 在最原始的對話方塊函式的標頭檔案將上述兩個新新增的標頭檔案加進去,對模態按鈕進行程式設計 void cdemo11dlg onbnclickedbutton1 對非模態按鈕進行程式設計 void...

模態對話方塊和非模態對話方塊

模態對話方塊 modal dialogue box 是指在使用者想要對對話方塊以外的應用程式進行操作時,必須首先對該對話方塊進行響應。如單擊 確定 或者 取消 按鈕等將該對話方塊關閉,它和非模態對話方塊都是永遠置頂的,它們的區別在於當對話方塊開啟時,是否允許使用者進行其他物件的操作。開啟模態對話方塊...