VC6中兩個對話框的同時顯示
發表于:2007-07-14來源:作者:點擊數:
標簽:
作者:黃基前 對于VC++初學者,可能會遇到這樣一個問題:一個基于Dialog的MFC AppWizard應用程序,再Insert一個對話框,如何同時顯示這兩個對話框呢? ---- 其實這個問題很簡單,想要在屏幕上同時顯示兩個對話框,并且這兩個對話框都可以被激活,則至少第二
作者:黃基前
對于VC++初學者,可能會遇到這樣一個問題:一個基于Dialog的MFC AppWizard應用程序,再Insert一個對話框,如何同時顯示這兩個對話框呢?
---- 其實這個問題很簡單,想要在屏幕上同時顯示兩個對話框,并且這兩個對話框都可以被激活,則至少第二個對話框應該為非模態對話框。啟動非模態對話框的方法與啟動一個普通窗口的步驟是一樣的,即先調用窗口類的Create()函數創建一個窗口對象,再用ShowWindow()使之顯示出來即可(值得注意的是:第二個對話框的對象不能為局部變量,否則在退出OnInitDialog時,該對象會被自動關閉,從而導致第二窗口也會關閉)。例如,下列的代碼演示了如何在主對話框的OnInitDialog()中啟動另一個非模態對話框。
CDialog2 Dlg2; //注意Dlg2不能為
OnInitDialog的局部變量。
BOOL CDialog1::OnInitDialog()
{
Cdialog::OnInitDialog();
Dlg2.Create(IDD_DIALOG2,this );
Dlg2.ShowWindow(SW_SHOW);
}
---- 編譯并運行,怎么樣,結果是不是OK了?
原文轉自:http://www.anti-gravitydesign.com