当一个子对话框调用另一个子对话框的同时,怎么能同时关闭自己?
解决方案 »
- vc++ ListCtrl显示大量数据时变灰引发的问题?
- 使用静态链接的方式编译,程序运行时如果和对应的DLL在一起是否还会导入DLL
- 新手问题
- 局域网内IP地址为什么会变
- 求教网络注册问题,在线等待中。。急!
- 想开发一个关于安全审计方面的系统,内容设计登陆控制 文件控制 日志记录等,是不是需要用COM技术进行开发啊,请牛牛门给点思路!谢谢
- 关于画直线的问题
- C++如何将CString型转换为LPBYTE
- 我要用udp协议接收一个个的数据包,用什么开源库?
- 如何禁止CControlBar的浮动,即只能Dock(内空)
- bmp文件保存为新文件后,不能显示和原文件一样的色彩
- 画图时如何突破GDI坐标限制
1:调用另一个对话框后destroyWindow
2:让被调用的对话框给自己SendMessage(WM_CLOSE)
3: 通知主窗口关闭自己并调用另一个对话框
dlg1关闭的时候调用dlg2;dlg1的比如OnOK里面
{
CDialog::OnOK();
CDlg2 dlg2;
dlg2.DoModal();
}那么这样会不会有什么问题?比如dlg1在dlg2启动的时候到底关闭了吗?
虽然效果看上去是对的...
下面是CDialog::OnOK()的实现,其中EndDialog(IDOK);应该已经将对话框结束掉了,只是对象本身还没有析构而已。
void CDialog::OnOK()
{
if (!UpdateData(TRUE))
{
TRACE(traceAppMsg, 0, "UpdateData failed during dialog termination.\n");
// the UpdateData routine will set focus to correct item
return;
}
EndDialog(IDOK);
}不过感觉这种代码不容易理解和扩充。看楼主的问题,应该不是模式对话框。可以创建另一个对话框后,给自己发一个close消息。