读书人

怎么通过两次绘制的方式从屏幕上擦除文

发布时间: 2012-01-15 22:57:48 作者: rapoo

如何通过两次绘制的方式从屏幕上擦除文字
我通过调用CDC的成员函数:SetROP2(R2_NOTXORPEN)想通过两次绘制来擦除原来的文字,可惜实现不了。通过InvalidateRect方法来实现会出现屏幕的闪烁,请问有什么更好的方法来擦除屏幕指定处的文字吗?

[解决办法]
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;

读书人网 >VC/MFC

热点推荐