📄 subject_16262.htm
字号:
<p>
序号:16262 发表者:930742 发表日期:2002-09-26 18:32:21
<br>主题:m_hWnd=0xdddddd...?
<br>内容:我的窗口明明已经销毁了呀,可是窗口指针居然不是NULL,我用GetSafeHwnd取出的m_hWnd是0xddddd,这种情况怎么判断呢?(我要知道这样的窗口已经销毁,不能再操作)。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:Aikoc 回复日期:2002-09-27 08:18:49
<br>内容:窗口明明已经销毁了呀,m_hwnd不一定是NULL,(Debug是0xdddddddd)<BR>窗口指针也不一定是NULL.<BR>如<BR> CMyDlg dlg;<BR> m_pwndDlg = &dlg;<BR> dlg.DoModal();<BR>当dlg销毁了,m_pwndDlg指针不会自动变为NULL.<BR>尽量不要用CWnd*等对象指针,用HWND来传递比较安全.<BR>可以用IsWindow来窗口判断是否销毁,如果存在,还要用GetWindowLong来读取UserData来判断是否原来的窗口,因为系统有可能在你的窗口销毁后将它的HWND分配给新的窗口.这会造成一个隐藏Bug.<BR>假如保存CWnd*等对象指针,一定要在窗口销毁后将所有指向他的<BR>对象指针置NULL.不可以用m_pwndDlg->GetSafeHwnd()来判断窗口是否存在(你可以看看GetSafeHwnd()的source,仅仅比较m_hWnd是否NULL)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -