解决GetDlgItem 使用时出现ASSERT(::IsWindow(m_hWnd))断言
基于对话框或SDI的情况下,有时手动添加,或从ToolBox拖动控件(比如CEdit, CListBox等)用于工程。当使用父窗口的GetDlgItem函数对这些控件进行操作时,会有时弹出断言。比如下面的代码段:CWnd* pwnd = GetDlgItem(IDE_EDIT_CODE); // CEdit派生类if (pwnd != NULL ){pwnd->DestroyWindow();}就
文章共339字 · 阅读需要大约2分钟
一键AI生成摘要,助你高效阅读
问答
·
基于对话框或SDI的情况下,有时手动添加,或从ToolBox拖动控件(比如CEdit, CListBox等)用于工程。当使用父窗口的GetDlgItem函数对这些控件进行操作时,会有时弹出断言。比如下面的代码段:
就会在主程序结束的时候弹出断言。断言追踪到下面代码
停止在ASSERT(::IsWindow(m_hWnd)); 这个地方
暂时解决的方式可以用下面代码:
总结:看来要在父窗口中操作其内含控件的时候,或者要使用父窗口的方法的时候加上一个判断是必要的:
更多推荐
已为社区贡献1条内容
所有评论(0)