1.MFC双缓存画图,内存释放了,但只能画几次就不能画了,什么原因?
2.MFC序列化保存图形文件打开文件时出现了错误。{ASSERT(m_hDC!=NULL);return::BitBlt(m_hDC,x,y,nWidth,nHeight...
2.MFC序列化保存图形文件 打开文件时出现了错误 。
{ ASSERT(m_hDC != NULL); return ::BitBlt(m_hDC, x, y, nWidth, nHeight,
pSrcDC->GetSafeHdc(), xSrc, ySrc, dwRop); }
这是什么原因? 能解决问题有加分 展开
{ ASSERT(m_hDC != NULL); return ::BitBlt(m_hDC, x, y, nWidth, nHeight,
pSrcDC->GetSafeHdc(), xSrc, ySrc, dwRop); }
这是什么原因? 能解决问题有加分 展开
2个回答
展开全部
1. 双缓存绘制,和内存释放什么关系?一般双缓存的话,绘制用的区域是不释放的,直到程序结束
2. 如果是在ASSERT(m_hDC != NULL)这句上,根据断言内容,就是 m_hDC尚未初始化。
2. 如果是在ASSERT(m_hDC != NULL)这句上,根据断言内容,就是 m_hDC尚未初始化。
更多追问追答
追问
那我想知道 为什么我画图都能正常画出来 但是 只能画几下 就不能画了了 这不是堆栈满了吗 我也是放了 但是还是没效果
追答
估计和堆栈没有关系。
你说放了,不知道你指放了什么?
我前面说过,作为绘图缓存的部分CBitmap,可以不用释放,可以一直使用到程序结束。
用于贴图的CMemoryDC,也可以不用释放
但绘图时得到的窗口CClientDC,一定要释放。
若上面几项未包含你所说的“放掉”,请说明一下你所指的放掉是什么内容。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询