求教!头都大了,CToolBar上按钮图片背景色问题

djf_1985 2011-10-12 05:33:12
一个CToolBar,用一个CImageList加载ICO图片显示在CToolBar的Button上面。
我给CToolBar设置了图片背景,CImageList也设置了ILC_MASK。
但是按钮上显示的图片就是有背景,灰色的那种,而不会显示我设给CToolBar的背景!(只是图片区域是灰色的背景,按钮其他地方是CToolBar的背景)
我确认ICO图片没问题,没底色。
请问大家,怎么能去除这背景色,让它透明显示CToolBar的背景?
谢谢大家,不够再加分哦!
...全文
273 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
djf_1985 2011-10-14
  • 打赏
  • 举报
回复
换成了Cdialogbar+CReBar实现,谢谢大家
TearyWang 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 djf_1985 的回复:]
引用 2 楼 tearywang 的回复:
ICO图像中的图虽然是32bit的,但是GDI基本只会处理24bit的数据,也就是RGB,没有A。

你这样处理,把这组图像换成有背景色的图,背景色全部统一,然后设置ILC_MASK后,设置背景色的颜色给它,就可以了。


这倒是可以的。但是CToolBar的背景图不是纯色的啊,是个图片,自适应屏幕分辩率的时候可以拉伸的。
如果把这背景图给……
[/Quote]

应该不会有问题,绘制的时候,是先把图做拉伸,然后再把位图做Mask运算。理论上没有问题,但这种情况我并没有试过。
djf_1985 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 likang0712 的回复:]
给张图吧

描述的内容看不大清楚是你需要实现的界面还是界面中的问题
[/Quote]

公司里面的东西,截图不到了

就是ToolBar上有Button,Buuton上有ICO图片,这个显示的图片有底色,我想要透明的
djf_1985 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tearywang 的回复:]
ICO图像中的图虽然是32bit的,但是GDI基本只会处理24bit的数据,也就是RGB,没有A。

你这样处理,把这组图像换成有背景色的图,背景色全部统一,然后设置ILC_MASK后,设置背景色的颜色给它,就可以了。
[/Quote]

这倒是可以的。但是CToolBar的背景图不是纯色的啊,是个图片,自适应屏幕分辩率的时候可以拉伸的。
如果把这背景图给这组ICO图像,当屏幕分辩率改变时,会对不上吧?
TearyWang 2011-10-12
  • 打赏
  • 举报
回复
ICO图像中的图虽然是32bit的,但是GDI基本只会处理24bit的数据,也就是RGB,没有A。

你这样处理,把这组图像换成有背景色的图,背景色全部统一,然后设置ILC_MASK后,设置背景色的颜色给它,就可以了。
「已注销」 2011-10-12
  • 打赏
  • 举报
回复

给张图吧

描述的内容看不大清楚是你需要实现的界面还是界面中的问题



15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧