MFC 由主对话框创建的子对话框始终显示在主对话框前面,而且最小化主对话框,子对话框也会跟着最小化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC 由主对话框创建的子对话框始终显示在主对话框前面,而且最小化主对话框,子对话框也会跟着最小化相关的知识,希望对你有一定的参考价值。

m_dlgTest.Create(IDD_DIALOG1,GetWindow(NULL));
m_dlgTest.ShowWindow(SW_SHOW);
可能是你创建子窗口的方法有问题吧。
可以先添加一个对话框资源,然后创建一个该对话框资源的类,然后在主对话框类中添加这个子对话框类的一个变量,然后用
Create(),
和ShowWindow
两个函数配合做的窗口不会出现你这样的问题。
现在你改的话很麻烦。可以找到主窗口最小化的消息响应函数在里头加补丁代码了,最小化的时候把要正常显示的子窗口再显示出来。
看了下代码
FindWindow
函数
不管你窗口是显示还是隐藏的,只要窗口存在都会找到。
所以你每次FindWindow都是成功的,所以每次都会执行隐藏窗口。
大概看了下代码没仔细看。
参考技术A 详见附件
demo
要把
非模态子窗口

父窗口设置
桌面
void
CMfcdlg2014Dlg::OnButton1()

//
TODO:
Add
your
control
notification
handler
code
here
if(!pSubDlg)

pSubDlg
=
new
CSubDlg();//
非模态
pSubDlg->Create(IDD_DIALOG1,
GetDesktopWindow());创建子窗口的时候传入桌面的窗口指针

pSubDlg->
ShowWindow
(SW_SHOW);//
显示
+
pSubDlg->SetFocus();//
得到焦点

以上是关于MFC 由主对话框创建的子对话框始终显示在主对话框前面,而且最小化主对话框,子对话框也会跟着最小化的主要内容,如果未能解决你的问题,请参考以下文章

MFC如何动态添加控件

MFC怎么在主窗口显示后,加载子窗口

MFC中TAB控件使用问题

VC6.0中基于对话框的MFC EXE中的Tab Control控件如何使用???

小弟问个MFC问题

急急急!mfc中怎么在基于对话框的主界面中显示proppage属性页?最好有例子