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);