问题是这样的:
int x= 100,y=100;
hScreenDC=CreateDC("DISPLAY",NULL,NULL,NULL);
MoveToEx(hScreenDC, x + 7, y, 0);
LineTo(hScreenDC, x + 7, y + 15);
MoveToEx(hScreenDC, x, y + 7, 0);
LineTo(hScreenDC, x + 15, y + 7);
这样在桌面绘完图后,我下去再在桌面上绘图的时候想把前一次绘制的图形擦除,就是现实桌面上原来的内容,高分请教应该怎样实现.以下两种方法,InvalidateRect会造成屏幕闪烁,RedrawWindow则没有效果。
RECT rc;
rc.left =y;
rc.top=y;
rc.right = x+15;
rc.bottom = y+15;
//InvalidateRect(NULL,&rc,FALSE);
HWND   ChWnd = GetDesktopWindow();    ;//取得桌面子句柄     
RedrawWindow(ChWnd,&rc,NULL,RDW_ERASE|RDW_INVALIDATE);