WEB开发网
开发学院软件开发VC VC6中两个对话框的同时显示 阅读

VC6中两个对话框的同时显示

 2008-11-13 19:32:00 来源:WEB开发网   
核心提示:对于VC++初学者,可能会遇到这样一个问题:一个基于Dialog的MFC AppWizard应用程序,VC6中两个对话框的同时显示,再Insert一个对话框,如何同时显示这两个对话框呢? 其实这个问题很简单,CDialog2 Dlg2; //注意Dlg2不能为OnInitDialog的局部变量,BOOL CDialo

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

Tags:VC 两个 对话框

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接