读书人

怎么在一个非模态对话框中关闭另外一个

发布时间: 2013-01-06 15:44:47 作者: rapoo

如何在一个非模态对话框中关闭另外一个
在对胡框中同时弹出两个非模态对话框,如何在关闭其中一个的时候把另外一个也关闭呢?

CDialog1 *dlg1 =new CDialog1;
CDialog2 *dlg2 =new CDialog2;

dlg1->Create(IDD_DIALOG1,this);
dlg1->ShowWindow(SW_SHOW);

dlg2->Create(IDD_DIALOG2,this);
dlg2->ShowWindow(SW_SHOW);

[解决办法]
你所说的是销毁还是关闭?

非模态对话框关闭,实质是隐藏
非模态对话框销毁,要调用DestoryWindow

可以用SendMessage自定义消息通知父窗体,让父窗体一起关闭。
[解决办法]
告状

一个小孩想让另一个小孩挨打
就想办法向他爹告状
[解决办法]
两种方法:
1、可以通过发消息给父类,请求父类完成另外一个对话框的销毁或关闭
2、直接将另外一个要关闭的对话框的句柄保存起来,调用::SendMessage(OtherClassMHwnd,WM_CLOSE)

读书人网 >VC/MFC

热点推荐