当前位置: 代码迷 >> VC >> 为啥InvalidateRect使占用内存增加
  详细解决方案

为啥InvalidateRect使占用内存增加

热度:260   发布时间:2016-05-05 00:01:33.0
为什么InvalidateRect使占用内存增加
我写了一段程序,显示个方框
void CPreView::OnPaint() 
{
CPaintDC dc(this); // device context for painting
CRect rc;
GetClientRect(rc);

CPen*pOldPen=pDC->SelectObject(&pen);
pDC->MoveTo(posx1,posy1);
pDC->LineTo(posx1,posy21);
pDC->MoveTo(posx1,posy1);
pDC->LineTo(posx21,posy1);
pDC->MoveTo(posx21,posy1);
pDC->LineTo(posx21,posy21);
pDC->MoveTo(posx1,posy21);
pDC->LineTo(posx21,posy21);
}
在OnMouseMove(UINT nFlags, CPoint point) 中写:
InvalidateRect(NULL,   TRUE);重画方形。
但是在执行程序时,占用内存越来越大,到最后就出错了,可能是内存越界了。但如果没有InvalidateRect,内存就不会增加,但又不能重画方形,这该怎么办呢?我分不多,大家多帮助 。
------解决思路----------------------
pen 没有删