EDN首页   博客首页

日志档案

发表于 2007-9-29 21:15:53

1

标签: VC  背景  

VC 背景填充位图的几种方法

    VC,工作中偶尔做个上位机软件,还总做不好,也是边上网查,边做,一次心血来潮,想美化下做好的程序,软件功底不好,只好上网学习,这个方法,自认为不错,值得一用,发上来,希望对为了加背景,象以前的我一样在网上乱翻的人有所帮助.

    高手请一笑而过,要是能指点一二,更是感激不尽.

 

1、在资源视图中 填加位图
2
、在nameDlg.cpp中填加

CBitmap m_bmZD,m_bmBack;

CBrush m_brZD,m_brBack;

 

和在初始化函数中  BOOL nameDlg::OnInitDialog(){填加

 

     VERIFY(m_bmZD.LoadBitmap(IDB_BG));  // IDB_BG 为位图ID       

     VERIFY(m_brZD.CreatePatternBrush(&m_bmZD));  

     VERIFY(m_bmBack.LoadBitmap(IDB_BG));

     VERIFY(m_brBack.CreatePatternBrush(&m_bmBack));  

    

3、填加利用向导映射AboutDlgWM_CTLCOLOR消息,产生函数

HBRUSH nameDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

     HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

 

     pDC->SetBkMode(TRANSPARENT);    

     if (nCtlColor==CTLCOLOR_EDIT)return hbr;

     else if(nCtlColor == CTLCOLOR_LISTBOX  )

     return m_brBack;

     return m_brZD;    

 

     // TODO:  如果默认的不是所需画笔,则返回另一个画笔

     //return hbr;

} 

系统分类: 软件开发   |   用户分类: VC++ 学习   |   来源: 整理   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(565)    回复(1)  

投一票您将和博主都有获奖机会!

最新评论

  • 彩云

    2007-9-30 9:24:37

    不错不错。。

    支持一下

    祝博主国庆节快乐