//画线
CPen penBlack;
penBlack.CreatePen(PS_SOLID, 10, RGB(255, 0, 0));
CPen* pOldPen = pDC->SelectObject(&penBlack);
static int a, b;
srand((unsigned)time(NULL));
a = rand() % 200;
b = rand() % 200;
pDC->MoveTo(a,b);
pDC->LineTo(40, 40);
static int c = 1;//这里的图不会被擦出,
if (c == 1){
pDC->MoveTo(300, 300);
pDC->LineTo(340, 340);
c++;
}
pDC->SelectObject(pOldPen);
RECT rect;
rect.left = 0;
rect.top = 0;
rect.right = 200;
rect.bottom = 200;
InvalidateRect(&rect, true);//使rect区域无效并擦出rect区域原来的图
//InvalidateRect(&rect, true);//使rect区域无效并擦出rect区域并引发WM_PAINT
当移动或改变窗口大小时,pDC->MoveTo(300, 300);pDC->LineTo(340, 340);这里画的线会被擦出。说明移动或改变窗口大小是使整个窗口无效并重绘。
InvalidateRect
最新推荐文章于 2018-04-27 08:51:06 发布