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

来源:互联网 发布:c语言if语句 编辑:程序博客网 时间:2024/05/15 23:44

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被触发

原创粉丝点击