关于在不同映射模式下要注意那些问题,如何避免GUI内存泄漏!

cwjcwjcwj cwjcwjcwj 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我先举个例子吧,刚刚才知道的
比如我使用的是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)
这两种方法是不是就可以避免内存泄漏了?
...全文

相关推荐

评论 12
收藏 已收藏
分享
返回顶部
cwjcwjcwj
VC/MFC 16,550 成员 421,606 内容