CBitmapButton的用法

我们有时希望对应按钮的不同状态,按钮可以有不同的显示形式。比如通常情况下按钮的四种状态

正常显示 (Up)     鼠标按下(Down)        获得焦点(Focus)        不可用(Disable)

因此可以用四张位图来对应这四种状态,我们不需要为每一种状态单独加载位图,只需要利用

CBitmapButton类即可   

总共有两种方法实现:

下面先说第一种:

假如有四张位图:IDB_BMP_UP    IDB_BMP_DOWN     IDB_BMP_FOCUS          IDB_BMP_DISABLE   

给对话框添加一个CBitmapButton类的对象    m_bmpBtn;

在对话框上方一个按钮 ID :  IDC_BTN_IMG       设置Owner draw属性

然后在OnInitDialog中:

m_bmpBtn.LoadBitmaps( IDB_BMP_UP,IDB_BMP_DOWN,IDB_BMP_FOCUS,IDB_BMP_DISABLE);

m_bmpBtn.SubclassDlgItem( IDC_BTN_IMG , this );即可

其中SubclassDlgItem(UINT  nID, CWnd* pParent)用来将m_bmpBtn和IDC_BTN_IMG关联起来

第二种方法:

用AutoLoad(UINT  nID, CWnd* pParent),顾名思义,就是自动为按钮加载位图

可是光看这个函数似乎跟位图 并没有扯上关系啊???

这就需要从位图的命名上下功夫了,直接使用上面的位图是不可以的,需要重新命名一下

假如按钮的caption为:image(一定要有)   则四张位图分别为:

"imageU"    "imageD"    "imageF"   "imageX"  

注意四张位图的的ID 是有双引号

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值