关于在不同映射模式下要注意那些问题,如何避免GUI内存泄漏!
我先举个例子吧,刚刚才知道的
比如我使用的是MM_HIMETRIC映射模式
void CGraphCtrl::DrawBK()
{
int nMode = m_pMemDC->SetMapMode(MM_TEXT);
m_pMemDC->FillRect(m_bkRect, &m_bkBrush);
m_pMemDC->SetMapMode(nMode);
}
如果在m_pMemDC->FillRect(m_bkRect, &m_bkBrush);语句前后不加上这两句的话,那么是没有办法清除背景的。
那么还有那些CDC函数的使用要注意这种区别呢?请大家一起来总结一下。
还有一个问题是关于SaveDC和RestoreDC函数的使用,比如有以下的语句
SaveDC()
oldpen = SelectObject(pen)
oldbrush = SelectObject(brush)
........作画
RestoreDC()
这个时候我使用RestoreDC是不是就是等于
SelectObject(oldpen)
SelectObject(oldbrush)
这两种方法是不是就可以避免内存泄漏了?
比如我使用的是MM_HIMETRIC映射模式
void CGraphCtrl::DrawBK()
{
int nMode = m_pMemDC->SetMapMode(MM_TEXT);
m_pMemDC->FillRect(m_bkRect, &m_bkBrush);
m_pMemDC->SetMapMode(nMode);
}
如果在m_pMemDC->FillRect(m_bkRect, &m_bkBrush);语句前后不加上这两句的话,那么是没有办法清除背景的。
那么还有那些CDC函数的使用要注意这种区别呢?请大家一起来总结一下。
还有一个问题是关于SaveDC和RestoreDC函数的使用,比如有以下的语句
SaveDC()
oldpen = SelectObject(pen)
oldbrush = SelectObject(brush)
........作画
RestoreDC()
这个时候我使用RestoreDC是不是就是等于
SelectObject(oldpen)
SelectObject(oldbrush)
这两种方法是不是就可以避免内存泄漏了?
...全文
相关推荐
员工转正述职报告怎么写?.docx
员工转正述职报告怎么写?.docx
小程序背景图片显示问题的全面解决方案
在小程序中,使用自定义组件来封装可复用的模块是一种常见做法。自定义组件可以有自己的样式和结构,包括图片资源。在页面配置文件中,开发者可以通过属性引入自定义组件,并在组件中使用图片。例如,定义一个名为的自定义组件,并在页面配置文件中引入:"navigationBarTitleText": "图片查看器",然后在页面的wxml文件中使用这个组件:<view></view>src属性用于指定图片资源的路径。mode属性用于指定图片的缩放模式,aspectFit。
新员工转正述职报告怎么写?.docx
新员工转正述职报告怎么写?.docx
员工转正述职报告怎么写.docx
员工转正述职报告怎么写.docx
试用期转正述职报告ppt模板,员工转正述职报告模板ppt,转正述职报告ppt下载.docx
试用期转正述职报告ppt模板,员工转正述职报告模板ppt,转正述职报告ppt下载.docx


