彈出對話方塊(模態和非模態)

2021-06-22 15:37:34 字數 676 閱讀 7131

windows應用程式有兩種對話方塊:模態對話方塊(modal dialog)和非模態對話方塊(modeless dialog)。構造兩種對話方塊的大多數工作都相同,只是兩者的顯示和資料處理方法有些不同。

模態對話方塊工作時,會導致其父視窗無效,直到對話方塊工作結束。

非模態對話方塊再開啟期間,允許使用者切換到應用程式的其他部分,不一定要關閉對話方塊。

建立和顯示模態對話方塊:

c***dlg dlg; // 例項化對話方塊類

dlg.domodal(); // 建立和顯示模態對話方塊

建立和顯示非模態對話方塊:

c***dlg *pdlg = new c***dlg();  // 動態構造對話方塊物件

pdlg->create(idd_***_dlg, this); // 建立非模態對話方塊

pdlg->showwindow(sw_show); // 顯示非模態對話方塊

create()成員函式的原型如下:

virtual bool create(

uint nidtemplate,

cwnd* pparentwnd = null

);

模態對話方塊和非模態對話方塊的建立彈出

一 模態對話方塊的建立及顯示 1 windows對話方塊分為兩類 模態對話方塊和非模態對話方塊。模態對話方塊 當它彈出後,本應用程式其他視窗將不再接受使用者輸入,只有該對話方塊響應使用者輸入,在對它進行相應操作退出後,其他視窗才能繼續與使用者互動。非模態對話方塊 它彈出後,本程式其他視窗仍能響應使用...

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

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

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

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