基于对话框或SDI的情况下,有时手动添加,或从ToolBox拖动控件(比如CEdit, CListBox等)用于工程。当使用父窗口的GetDlgItem函数对这些控件进行操作时,会有时弹出断言。比如下面的代码段:
就会在主程序结束的时候弹出断言。断言追踪到下面代码
停止在ASSERT(::IsWindow(m_hWnd)); 这个地方
暂时解决的方式可以用下面代码:
总结:看来要在父窗口中操作其内含控件的时候,或者要使用父窗口的方法的时候加上一个判断是必要的:
基于对话框或SDI的情况下,有时手动添加,或从ToolBox拖动控件(比如CEdit, CListBox等)用于工程。当使用父窗口的GetDlgItem函数对这些控件进行操作时,会有时弹出断言。比如下面的代码段:
就会在主程序结束的时候弹出断言。断言追踪到下面代码
停止在ASSERT(::IsWindow(m_hWnd)); 这个地方
暂时解决的方式可以用下面代码:
总结:看来要在父窗口中操作其内含控件的时候,或者要使用父窗口的方法的时候加上一个判断是必要的: