首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

sdk中,怎么擦除图形,而不引发WM_PAINT?小弟我用SendMessage(hWnd,WM_ERASEBKGND,0,0)

2012-02-25 
sdk中,如何擦除图形,而不引发WM_PAINT?我用SendMessage(hWnd,WM_ERASEBKGND,0,0)sdk中,如何擦除图形,而不

sdk中,如何擦除图形,而不引发WM_PAINT?我用SendMessage(hWnd,WM_ERASEBKGND,0,0);
sdk中,如何擦除图形,而不引发WM_PAINT?我用SendMessage(hWnd,WM_ERASEBKGND,0,0);

case WM_ERASEBKGND: //设置背景色
RECT rc;
HBRUSH hBr;
GetClientRect(hWnd, &rc); 
hBr = CreateSolidBrush(RGB(255,255,255));
FillRect((HDC)wParam, &rc, hBr);
DeleteObject(hBr); 
return TRUE;
break;


似乎不行.


[解决办法]
别发任何消息, 直接擦除就可以了.

C/C++ code
HDC hdc=GetDC(hWnd);RECT rt;GetClientRect(hWnd, &rt);HBRUSH hBrush=CreateSolidBrush(RGB(255,255,255)); hBrush=(HBRUSH)SelectObject(hdc, hBrush);PatBlt(hdc, rt.left, rt.top, rt.right-rt.left, rt.bottom-rt.top, PATCOPY);hBrush=(HBRUSH)SelectObject(hdc, hBrush);DeleteObject(hBrush);ReleaseDC(hdc); 

热点排行