关于在不同映射模式下要注意那些问题,如何避免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)
这两种方法是不是就可以避免内存泄漏了?