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

原创 2001年01月09日 10:47:00

 

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

转载自中国程序员网站

 

显示和关闭对话框

一、显示对话框 1.显示模式对话框: CDialogDemo dlg; dlg.DoModal(); 2.显示非模式对话框: CDialogDemo *dlg=new CDialogDe...
  • zxccaoya
  • zxccaoya
  • 2016年08月16日 18:23
  • 1170

VC6添加自定义消息(主窗口向子窗口发送消息)

1、定义消息。在Windows中,所有的消息都用一个特定的整数值来表示,为了避免自定义消息与已存在的其他消息发生冲突,应该利用Windows提供的一个常量:WM_USER,小于这个常量的是系统保留的。...
  • phenixyf
  • phenixyf
  • 2013年07月11日 14:27
  • 2702

在VC++6.0中给对话框设置背景色或者背景图片

/*********************************************************** *说明: 在VC++6.0中给对话框设置背景色或者背景图片 *备注:测试代码的...
  • djd1234567
  • djd1234567
  • 2015年08月12日 22:32
  • 1605

MFC中实现父对话框与子对话框之间的参数传递,实例可测

MFC下实现父窗口与子窗口之间的数据传递
  • huoxingrenhdh
  • huoxingrenhdh
  • 2017年04月19日 10:28
  • 2384

vc6多线程开发时导致cpu猛增(狂飙)不停的跳动的原因。

原文地址::http://www.greensoftcode.net/techntxt/20132221113276189397 相关文章 1、VC多线程编程学习笔记(一)----http://b...
  • xqhrs232
  • xqhrs232
  • 2014年02月13日 14:48
  • 913

MFC中多个对话框怎么设置大小一样?

我想编写一个程序,在主对话框创建一个“开始”按钮,点击后就出现第一个对话框,每个对话框上面有一个“下一个”按钮,点击后当前对话框隐藏,然后显示下一个对话框,我想把每个对话框的大小都设置成一样大,这样看...
  • cjjwwss
  • cjjwwss
  • 2014年02月07日 17:35
  • 1011

VC对话框大小和位置设置

软件开发中,我们通常需要设置对话框到我们需要的大小,并且希望能在我们希望的位置显示,那么就需要设置对话框的大小和位置了。 步骤: 1.新建对话框 新建对话框应用程序,为了方便对比,我们还另外新建...
  • bingdianlanxin
  • bingdianlanxin
  • 2015年03月30日 20:03
  • 2422

(VS2013)MFC对话框中用多个按钮创建多个子对话框实现选项卡效果

首先创建一个MFC的对话框工程,并拉几个按钮(本文中假设3个,Button1,Button2,Button3)放在对话框上,注意留出一定的空间给子对话框。往工程里添加3个类(CChildDlg1,CC...
  • xuanzhangyang
  • xuanzhangyang
  • 2015年05月01日 10:37
  • 2906

基于对话框MFC程序添加状态栏

首先 需要创建一个 状态栏对象: CStatusBar m_Statusbar;   //状态栏 然后在初始化程序中 //创建状态栏 m_Statusbar.Create(this); m_...
  • ilovemayverymuch
  • ilovemayverymuch
  • 2015年02月27日 22:46
  • 1740

调整 Subclipse 配置以使 Eclipse 显示 SVN 管理的代码的最后修改作者

老版的 Subclipse 默认显示文件的最后修改作者及其时间。最新 Eclipse SVN 插件(作者的 Eclipse 是 Luna Service Release 1 (4.4.1),Subcl...
  • defonds
  • defonds
  • 2014年12月29日 14:31
  • 11086
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VC6中两个对话框的同时显示 作者:黄基前
举报原因:
原因补充:

(最多只允许输入30个字)