代码改变世界

VC更改View背景色的几种方式

2013-01-13 02:02  youxin  阅读(342)  评论(1编辑  收藏  举报

1。添加消息映射OnEraseBkgnd, 

 BOOL CSampleView::OnEraseBkgnd(CDC* pDC)
  
{
      
// 设置所要求背景色的刷子
      CBrush backBrush(RGB(255128128));
      
// 保存旧刷子
      CBrush* pOldBrush = pDC->SelectObject(&backBrush);
      CRect rect;
      pDC
->GetClipBox(&rect);     // 擦除所需的区域
      pDC->PatBlt(rect.left, rect.top, rect.Width(), rect.Height(), PATCOPY);
      pDC
->SelectObject(pOldBrush);
      
return TRUE;
  }

 

2。添加消息映射OnDraw

void CScrollSampleView::OnDraw(CDC* pDC)
{
    CScrollSampleDoc
* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    
if (!pDoc)
        
return;
    
// TODO: 在此处为本机数据添加绘制代码
    CRect rc;
    GetClientRect(
&rc);
    CBrush br(RGB(
0,0,0));
    pDC
->FillRect(&rc,&br);
    ReleaseDC(pDc);
}

 OnEraseBkgnd先于OnDraw被触发