修改view类的背景颜色

来源:互联网 发布:淘宝买家订单导出 编辑:程序博客网 时间:2024/04/30 01:37

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

 

原创粉丝点击