VC6,SDI视图改变背景颜色的方法
不怎么時髦,還在用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;
}
?
?
?
?
總結
以上是生活随笔為你收集整理的VC6,SDI视图改变背景颜色的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jkkfgk
- 下一篇: 契税什么时候交(房屋契税什么时候交)