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

2007-9-29 21:15 4623 3 3 分类: 软件与OS

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


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


 


1、在资源视图中 填加位图
2
、在nameDlg.cpp中填加<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


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;


} 

文章评论0条评论)

登录后参与讨论
相关推荐阅读
Jimmy.qiu 2011-01-05 22:17
C语言中常见的置位操作
如何对某一位置0或者置1?方法一:写成宏,方便移植#define setbit(x,y) x|=(1<<y) //将X的第Y位置1#define clrbit(x,y) x&=!(...
Jimmy.qiu 2008-12-25 19:17
ST-BUS基本原理
 ST-BUS基本原理    ST-BUS(Serial Telecom BUS,串行通信总线)是卓联半导体公司根据电信应用的需要而定义的一种重要的通信设备内部总线通信协议,它可以将多路信息(包括音频...
Jimmy.qiu 2008-12-25 18:58
无源晶体与有源晶振的区别、应用范围及用法
无源晶体与有源晶振的区别、应用范围及用法:1、无源晶体——无源晶体需要用DSP片内的振荡器,在datasheet上有建议的连接方法。无源晶体没有电压的问题,信号电平是可变的,也就是说是根据起振电路来决...
Jimmy.qiu 2008-12-13 20:39
更改XP收藏夹的位置
用户的收藏的网址系统默认存放在C:\Documents and Settings\username \收藏夹 里。但有时因为种种原因要重做系统时,应该把这个文件复制出来,在做完系统后把这个文件夹还原回...
Jimmy.qiu 2008-12-05 22:24
令人头晕的指针
某种类型名   *)另一种类型指针变量名: 这个只是转换了指针类型。 *(某种类型名*)&另一种类型指针变量名     这个将   另一种类型指针的指针(地址)   转换成了   某种类型指针...
Jimmy.qiu 2008-12-05 22:22
指针不完全手册2
第二节 指针的应用<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />1、 指针与变量定...
广告
我要评论
0
3
1
2
3
4
5
6
7
8
9
0
广告
关闭 热点推荐上一条 /3 下一条