Chinaunix

标题: MFC 父窗口与子窗口句柄销毁问题 [打印本页]

作者: linux小小菜鸟    时间: 2015-05-11 01:16
标题: MFC 父窗口与子窗口句柄销毁问题
MFC对话框程序,父对话框为非模态,单击按钮后创建一个子对话框,父对话框不消失,我现在想要达成的效果是:单击子对话框上的按钮,就会将子对话框上静态文本框的内容发送到父对话框的静态文本上

代码编写完程序崩溃,问题出在ASSERT(::IsWindow(pWnd->m_hWnd)),怀疑是在创建子对话框的时候父窗口句柄被销毁了,各位大神有什么解决办法吗?可以保证父窗口句柄不被销毁,现在getDlgItem之类函数不能用

新人,求详细说一下

作者: hellioncu    时间: 2015-05-11 08:44
父窗口还在,句柄怎么会被销毁?
作者: littledick    时间: 2015-05-11 11:15
CDialog的构造函数第2个参数时父窗口的对象指针,创建的时候传进去。之后直接用m_pParentWnd访问,如果Parent没销毁应该不会出现崩溃的情况。
作者: bruceteen    时间: 2015-05-12 13:19
问题出在ASSERT(::IsWindow(pWnd->m_hWnd)),怀疑是在创建子对话框的时候父窗口句柄被销毁了
---------- 我却怀疑你不是用 parent->SetDlgItemText( id, _T("xxx" ),而是用了 SetDlgItemText( id, _T("xxx" ) 或 this->SetDlgItemText( id, _T("xxx" )




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2