作者:黄基前
对于 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 了?