要想改变窗口的背景颜色有不同的方法,不同方法结果可能都是改变了背景的颜色。
但实际中,有些方法是不可取的,比如有人说的在OnDraw中去改变背景颜色,在应用中常会出现闪烁效果,非常不好。
一般来说,采取下面的两种方法比较好些。
1、在窗口创建之前想改变视图背景色,
方法:
BOOL CCarPlatView::PreCreateWindow(CREATESTRUCT& cs)
{
}
2、 在类V向导里的View添加WM_ERASEBKGND消息,在其函数OnEraseBkgnd(CDC* pDC)添加如下代码:
BOOL CDrawLineView::OnEraseBkgnd(CDC* pDC)
//这个函数的窗口刷新时自动调用,即可实时变换背景色了
{
// TODO: Add your message handler code here and/or call default
CRect
GetClientRect(&m_rect);
CBrush
brush.CreateSolidBrush(RGB( , , ));
pDC->FillRect(&m_rt,&brush);
return CView::OnEraseBkgnd(pDC);
}