MFC的问题谢谢回答 关于销毁窗口 20
菜单响应弹出一个非模态对话框代码:if(Rech==null)//对象指针==空{Rech=newCRechRech->Create(...........);}Rech...
菜单响应 弹出一个 非模态对话框
代码: if(Rech==null)//对象指针==空
{
Rech=new CRech
Rech->Create(...........);
}
Rech->ShowWindow(SW_SHOW);
我现在用完了这个对话框想要销毁 然后delete Rech 且设Rech==NULL;
我应该怎么delete 我用了一个自定消息在ON close 向应是发送到主窗口 然后delete 但是 我再点击 菜单 弹出窗口会报错 不知道怎么回事,
我想要我用完了这个对话框 关闭出就是下次窗口打开之前还会调用 InitDialog 但是现在点击X是 On Close 它不是关闭 好像中是隐藏了 该怎么弄呢 谢谢啊 展开
代码: if(Rech==null)//对象指针==空
{
Rech=new CRech
Rech->Create(...........);
}
Rech->ShowWindow(SW_SHOW);
我现在用完了这个对话框想要销毁 然后delete Rech 且设Rech==NULL;
我应该怎么delete 我用了一个自定消息在ON close 向应是发送到主窗口 然后delete 但是 我再点击 菜单 弹出窗口会报错 不知道怎么回事,
我想要我用完了这个对话框 关闭出就是下次窗口打开之前还会调用 InitDialog 但是现在点击X是 On Close 它不是关闭 好像中是隐藏了 该怎么弄呢 谢谢啊 展开
5个回答
展开全部
想销毁窗口用DestroyWindow这个函数即可。比如你在需要销毁窗口的地方调用Rech->DestroyWindow();如果连窗口对象也要销毁,可以这样:
if(Rech!=NULL)
{
if(Rech->GetSafeHwnd())
{
Rech->DestroyWindow();
delete Rech;
Rech=NULL;
}
}
if(Rech!=NULL)
{
if(Rech->GetSafeHwnd())
{
Rech->DestroyWindow();
delete Rech;
Rech=NULL;
}
}
追问
这个 问题是我不知道怎么拿到 Rech的指针 这个对象指针 在主对话框 子对话框销毁怎么能拿到这个指针?
展开全部
用Create创建,用DestroyWindow销毁,然后再delete
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
调用DestroyWindow
重载OnNcDestroy(),并在函数中delete this
重载OnNcDestroy(),并在函数中delete this
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
On Destroy或者试试在析构函数里释放
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以尝试调试一下!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询