改变视图背景颜色

要想改变窗口的背景颜色有不同的方法,不同方法结果可能都是改变了背景的颜色。

但实际中,有些方法是不可取的,比如有人说的在OnDraw中去改变背景颜色,在应用中常会出现闪烁效果,非常不好。

一般来说,采取下面的两种方法比较好些。

1、在窗口创建之前想改变视图背景色,

方法:

BOOL CCarPlatView::PreCreateWindow(CREATESTRUCT& cs)

{

     // TODO: 在此处通过修改

     //  CREATESTRUCT cs 来修改窗口类或样式

     HBRUSH Brush;

     Brush=CreateSolidBrush(RGB(9,145,9));

     cs.lpszClass=AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW,LoadCursor(NULL,IDC_CROSS),Brush,0);

     return CView::PreCreateWindow(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   m_rect;  
GetClientRect(&m_rect);  
CBrush   brush;  
brush.CreateSolidBrush(RGB( , , ));  
pDC->FillRect(&m_rt,&brush);
  
return CView::OnEraseBkgnd(pDC);
}

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值