赞
踩
不怎么时髦,还在用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;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。