VC MFC新手 如何判断指针指向的对象是否已经被销毁?

hk_c 2006-05-09 07:33:18
我有一个指针指向一个CMDIChildWnd, 如何通过指针判断该CWnd是否已经被关闭???

...全文
326 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pomelowu 2006-05-10
  • 打赏
  • 举报
回复
sorry, IsWindow 只有ATL的CWindow重载了。。。用xing_xing_xing(ζ未名ζ) 的办法
hk_c 2006-05-10
  • 打赏
  • 举报
回复
你的关闭是什么意思?
隐藏?
-------------------------
CMDIChildWnd 窗口被关闭, 关闭没有重写
ablewindy 2006-05-10
  • 打赏
  • 举报
回复
你的关闭是什么意思?
隐藏?
xing_xing_xing 2006-05-09
  • 打赏
  • 举报
回复
CMDIChildWnd *pwnd;
if(!IsWindow(pwnd->GetSafeHwnd()))
{
//已经销毁了
}
hk_c 2006-05-09
  • 打赏
  • 举报
回复
CMDIChildWnd *pwnd = ...;
if (pwnd != NULL)
if (pwnd->IsWindow())
//....

但是pwnd指向的窗口不能是被delete的。
------------------------------------------

IsWindow()有这个函数吗?
lyl_rabbit 2006-05-09
  • 打赏
  • 举报
回复
看错了,支持 pomelowu(羽战士) ( ) 信誉:205
soaroc 2006-05-09
  • 打赏
  • 举报
回复
窗口关闭不一定等于对象销毁了吧,试一试pwnd->m_hWnd是否为NULL
lyl_rabbit 2006-05-09
  • 打赏
  • 举报
回复
delete了以后就不用你管了,这不是语言层次上的问题了

另外,delete了以后,最后将指针赋为空
pomelowu 2006-05-09
  • 打赏
  • 举报
回复
CMDIChildWnd *pwnd = ...;
if (pwnd != NULL)
if (pwnd->IsWindow())
//....

但是pwnd指向的窗口不能是被delete的。

15,976

社区成员

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

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