mfc中关于画图操作而导致ASSERT(m_hObject == NULL);中断问题
来源:互联网 发布:淘宝号永久封号 编辑:程序博客网 时间:2024/06/05 10:40
今天在使用mfc画图,界面在重绘时会出现ASSERT(m_hObject == NULL)中断问题,
出问题的地方是这两个画刷我是在单文档定义成类的成员变量,
public:
//二维绘图
CBrush m_Bkbrush; //二维背景画刷,不能定义成类的成员变量,这样在窗口重绘时会出现Assertion错误
CBrush m_Rulerbrush
问题:定义成类的成员变量的话重绘操作时由于资源没有及时释放掉导致m_hObject != NULL,所以会出现ASSERT(m_hObject == NULL)中断。
解决办法:
void CAeroNetView::DrawCoordinate( CDC *pDC )
{
CBrush m_Bkbrush; //二维背景画刷,不能定义成类的成员变量,这样在窗口重绘时会出现Assertion错误
CBrush m_Rulerbrush( RGB(220,220,220) ); //二维尺度背景画刷
m_Bkbrush.CreateStockObject( LTGRAY_BRUSH );
. . . . . .
}
将画刷定义成函数的局部变量,这样在函数调用结束之后会自动释放资源,这样就不会出现中断问题了。
0 0
- mfc中关于画图操作而导致ASSERT(m_hObject == NULL);中断问题
- 关于CFont类型成员变量m_font 在使用m_font.CreatePointFont时出现ASSERT(m_hObject == NULL)断言
- ASSERT(m_pCtrlSite != NULL)
- ASSERT(m_pCtrlSite != NULL);
- 解决返回数据中存在Null而导致的错误问题
- 要死的ASSERT(AfxGetThread() == NULL)问题--解决
- 关于stream!=NULL问题
- ASSERT(FromHandlePermanent(hWndNew) == NULL)
- 关于WPF的ComboBox中Items太多而导致加载过慢的问题
- VC:断言ASSERT(pState->m_hSocketWindow != NULL);
- assert(pMap != NULL)错误的解决办法
- assert(pMap != NULL)错误的解决办法
- 关于DockControlBar()时调试出现ASSERT(pBar->m_pDockContext != NULL);错误处
- 关于c#代码Convert.ToChar(null);出现异常,而object obj = null; Convert.ToChar(obj);//返回'\0'空字符问题详解
- Mfc插入第三方ActiveX控件报错ASSERT(m_pCtrlSite != NULL); // not an OLE control (not yet, at least)
- 要死的ASSERT(AfxGetThread() == NULL)问题,终于得以解决
- oracle中关于null问题
- mfc多线程学习运行过程中遇到ASSERT问题
- boost 字符串,json
- Marked Ancestor (AOJ 2170 并查集)
- 杭电 HDU 1038 Biker's Trip Odometer
- boost 指针
- MySQL的JDBC驱动源码解析
- mfc中关于画图操作而导致ASSERT(m_hObject == NULL);中断问题
- HNU13247Connected Caves (拓扑)
- Java中getResourceAsStream的用法
- jdk的安装与配置
- 循序渐进做项目系列(1):最简单的C/S程序——让服务器来做加法
- 蓝桥杯 - 幸运数 (打表)
- 第二周项目五--数组做数据成员2
- 关于equals,hashCode的几点笔记
- java对redis的基本操作