如何主对话框显示在子对话框的前面?

天山游龙 2010-05-26 08:40:35
我新建一个基于对话框的应用程序CMainDialog!然后新建一个对话框模板并产生一个新的对话框类CDialog1,然后在主对话框类CMainDialog里添加一个成员变量CDialog1 * m_pDlg,然后在主对话框里一个按钮消息函数里添加下面代码
m_pDlg=new CDialog1;
m_pDlg->Create("IDD_DIALOG1");
m_pDlg->ShowWindow(SW_SHOW);
然后点击这个按钮,就会弹出一个新的对话框,但他一直在主对话框的上面,换句话说当主对话框获得焦点的时候,他还是被那个新的对话框覆盖掉一部分,不会剪辑掉那个新对话框。
我的问题是:如何能让主对话框获得焦点的时候能显示出全部界面,而不会被新对话框遮盖掉。
我尝试过很多办法,都没有解决。
1,把新对话框的的父窗口设为周面,是可以,但这个新对话框会在任务栏显示一个标签,我要的是主和新的只有一个标签。
2。尝试过把主窗口也设成子窗口,但这不是我想要的。
3,主窗口置顶,新窗口模式为(重叠或子窗口)。
请帮帮忙,困扰了我很久了。。。。。
...全文
108 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
天山游龙 2010-05-26
  • 打赏
  • 举报
回复
真的非常感谢,用了上面二位的方法真的实现了。
高手,佩服!
Eleven 2010-05-26
  • 打赏
  • 举报
回复
m_pDlg->ShowWindow(SW_SHOW);
这句前加上
m_pDlg->ModifyStyleEx(0, WS_EX_TOOLWINDOW);
fishion 2010-05-26
  • 打赏
  • 举报
回复
m_pDlg->Create(IDD_DIALOG1, GetDesktopWindow());
m_pDlg->ModifyStyleEx (WS_EX_APPWINDOW,WS_EX_TOOLWINDOW );
m_pDlg->ShowWindow(SW_SHOW);
BringWindowToTop();
fishion 2010-05-26
  • 打赏
  • 举报
回复
m_pDlg->ModifyStyleEx (WS_EX_APPWINDOW,WS_EX_TOOLWINDOW );
m_pDlg->ShowWindow(SW_SHOW);
BringWindowToTop();
Eleven 2010-05-26
  • 打赏
  • 举报
回复
m_pDlg=new CDialog1;
m_pDlg->Create(IDD_DIALOG1, GetDesktopWindow());
m_pDlg->ShowWindow(SW_SHOW);

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧