首页
社区
课程
招聘
[求助]如何实现显示24位位图的Toolbar?
发表于: 2006-6-1 23:00 5856

[求助]如何实现显示24位位图的Toolbar?

2006-6-1 23:00
5856

google了一下,有C & SDK实现的方法,就是创建Image list,然后发送TB_SETIMAGELIST等消息设置。
我试了一下,创建Imagelist、加载Bmp资源、设置toolbar的Imagelist都正确返回了,但button仍没有显示图片,是不是汇编下使用需要其他的设置?


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 7
支持
分享
最新回复 (4)
雪    币: 214
活跃值: (70)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
这有好多教程和源码供你参考
http://www.codetools.com/
2006-6-1 23:43
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
2006-6-2 09:14
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
搞定了,总结一下,呵呵。

1、CreateToolbarEx时同时指定hBMInst和wBMID参数,系统自动从指定模块实例的资源中加载位图。
   使用这种方法时,如果指定位图资源的颜色高于256色,就会创建失败,我这里运行时是内存异常。
   对GDI不熟,不明白为什么会这样。

2、在invoke CreateToolbarEx之前,调用LoadBitmap或LoadImage获取位图资源,把返回的HBITMAP或HANDLE
   作为CreateToolbarEx的wBMID参数,hBMInst参数设为NULL,就可为在工具栏显示高于256色的位图。但这时
   toolbar按钮在可用和置灰时都是同一张图片,只是置灰时图片灰化凹陷。

3、使用LoadBitmap或LoadImage加载位图资源,使用ImageList_Create创建Image List,把已加载的位图
   资源添加到Image List中,向Toolbar发送TB_SETIMAGELIST,TB_SETDISABLEDIMAGELIST消息,分别指定
   toolbar按钮可用和不可用时的Image List,这样按钮在不同状态下就会显示不同的图片了。
2006-6-2 14:05
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习了~~
2006-6-2 19:31
0
游客
登录 | 注册 方可回帖
返回
//