不怎么时髦,还在用VC6,无聊瞎写的............
SDI视图改变背景颜色分两步吧,效果还是很好的.
首先在CXXView类的OnDraw添加颜色.
 
 
void CDigimizerView::OnDraw(CDC* pDC)
{
   CDigimizerDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
 CRect rect;
 GetClientRect(rect);
 COLORREF rColor = GetSysColor(COLOR_3DFACE);  //COLOR_BTNFACE
 pDC->FillSolidRect(rect,rColor);
  // TODO: add draw code for native data here
 
}
 
 
效果出来了,但是改变窗口大小的时候,背景色看起来一闪一闪的,
再就是CXXView类响应WM_ERASEBKGND消息,将生成的 return CView::OnEraseBkgnd(pDC);注释掉,即不要调用CView的OnEraseBkgnd()函数,直接return true;就解决了.像下面这样.
 
 
 
BOOL CDigimizerView::OnEraseBkgnd(CDC* /* pDC*/) 
{
   //return CView::OnEraseBkgnd(pDC);
   return TRUE;
}
 
 
PS:代码全写到一块也是的.
 
BOOL CDigimizerView::OnEraseBkgnd(CDC* pDC) 
{
 //return CView::OnEraseBkgnd(pDC);
 CRect Rect;
 GetClientRect(&Rect);
 pDC->FillSolidRect(&Rect,::GetSysColor(COLOR_APPWORKSPACE));  // COLOR_BTNFACE
 return TRUE;
}