对于擦除屏幕上的图形如矩形、三角形等,两次调用
SetROP2(hdc,R2_XORPEN);
Rectangle();
就可以产生先输出矩形,然后擦除的效果。
但对于擦除文字,两次调用
SetROP2(hdc,R2_XORPEN);
TextOut();
却不能得到输出文字后再擦除的效果。
============================
寫字前,把寫字的矩形BitBLt到一個内存DC上面,然後抹字的時候在從那個内存DC BitBlt回來。
============================
OnDraw里
CDC mem;
CBitmap memmap;
mem.CreateCompatibleDC(pDC);
memmap.CreateCompatibleBitmap(m_pDC,1000,1000);
CBitmap *memoldmap=mem.SelectObject(&memmap);
/*
在这里画你的字,对mem的```
*/
pDC-> BitBlt(0,0,1000,1000,&mem,0,0,SRCCOPY);
mem.SelectObject(memoldmap);
memmap.DeleteObject();
重载BOOL CXXXView::OnEraseBkgnd(CDC* pDC)
直接return TRUE;
===================================