在view类相应擦出背景的消息,然后在其响应函数中添加如下代码:
BOOL CTestView::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
CDC memDC;
CRect rect;
CBrush brush, *pBrush;
CBitmap bitmap;
memDC.CreateCompatibleDC(pDC);
// GetWindowRect(&rect);
GetClientRect(rect);
bitmap.CreateCompatibleBitmap(pDC, rect.Width(), rect.Height());
brush.CreateSolidBrush(RGB(255,0,0));
memDC.SelectObject(&bitmap);
pBrush = memDC.SelectObject(&brush);
memDC.FillRect(&rect, &brush);
pDC->BitBlt(0, 0, rect.Width(), rect.Height(), &memDC, 0, 0, SRCCOPY);
// pDC->StretchBlt(0, 0, rect.Width(), rect.Height(), &memDC, 0, 0, rect.Width(), rect.Height(), SRCCOPY);
memDC.SelectObject(pBrush);
memDC.DeleteDC();
bitmap.DeleteObject();
brush.DeleteObject();
return TRUE;
// return CView::OnEraseBkgnd(pDC);
}