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;
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值