duilib 模態視窗

2021-06-20 12:15:54 字數 653 閱讀 9699

void cmaindlg::dotask()

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

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

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

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;

}

C 模態視窗和非模態視窗

c 視窗對話方塊一般分為兩種型別 模態型別 modal 與非模態型別 modeless 所謂模態對話方塊,就是指除非採取有效的關閉手段,使用者的滑鼠焦點或者輸入游標將一直停留在其上的對話方塊。非模態對話方塊則不會強制此種特性,使用者可以在當前對話方塊以及其他視窗間進行切換下例中的form1使用模態方...

duilib虛擬視窗使用

方便每乙個tablayout的介面都可以用乙個類去處理 避免將所有的訊息寫到同乙個主視窗類中 方便維護 主視窗 建構函式中新增 cetcdmainwnd cetcdmainwnd xml配置 類中新增訊息處理類的成員變數 cpatmanagepage m patmanagepage 訊息處理類的宣告...

關於模態視窗

一.1.模態視窗 開啟後不可以操作父親視窗var returnvalue window.showmodaldialog url,arguments,features 2.非模態視窗 開啟後可以操作父親視窗var returnvalue window.showmodelessdialog url,ar...