VC6中两个对话框的同时显示 作者:黄基前

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 ghj1976 的 blog

 

对于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了?

转载自中国程序员网站

 

本文关键:VC6中两个对话框的同时显示 作者:黄基前
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top