vc非模式对话框的问题

imageproc 2006-08-25 01:42:08
我在视类里面创建并显示一个非模式的对话框, 问题如下:

如果先关闭对话框,再关闭文档,没有问题;
如果先关闭文档, 再关闭对话框, 则出现断言错误.

如何解决?

我想在关闭文档之前,在视类的某一个虚拟函数或消息响应函数中处理对话框的销毁工作,也就是说,随着文档的关闭,对话框也关闭. 应该怎么实现?
...全文
142 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wickey_lu 2006-08-26
  • 打赏
  • 举报
回复
建议你令该非模式对话框负责自己的释放工作,具体如下:
为对话框增加WM_DESTROY消息的处理函数OnDestroy
然后在里面添加delete this;

然后重载OnOK()和OnCanCel(),在里面调用DestroyWindow();
rollor_phoe 2006-08-26
  • 打赏
  • 举报
回复
在视图的关闭函数中,调用SendMessage,发送一个单击消息给你那个模式对话框中的确定按钮就可以了。
zhihong123 2006-08-25
  • 打赏
  • 举报
回复
在关闭文档的时候你就把对话框关闭了,调用WM_CLOSE消息将对话框关闭
raymonzhao 2006-08-25
  • 打赏
  • 举报
回复
重要的是你的对话框指针或变量要先保存起来.
if(pSetDlg!=NULL)
{
if(pSetDlg->GetSafeHwnd())
{
pSetDlg->DestroyWindow();
}
}

15,979

社区成员

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

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