一个CToolBar,用一个CImageList加载ICO图片显示在CToolBar的Button上面。
我给CToolBar设置了图片背景,CImageList也设置了ILC_MASK。
但是按钮上显示的图片就是有背景,灰色的那种,而不会显示我设给CToolBar的背景!(只是图片区域是灰色的背景,按钮其他地方是CToolBar的背景)
我确认ICO图片没问题,没底色。
请问大家,怎么能去除这背景色,让它透明显示CToolBar的背景?
谢谢大家,不够再加分哦!

解决方案 »

  1.   

    ICO图像中的图虽然是32bit的,但是GDI基本只会处理24bit的数据,也就是RGB,没有A。你这样处理,把这组图像换成有背景色的图,背景色全部统一,然后设置ILC_MASK后,设置背景色的颜色给它,就可以了。
      

  2.   


    这倒是可以的。但是CToolBar的背景图不是纯色的啊,是个图片,自适应屏幕分辩率的时候可以拉伸的。
    如果把这背景图给这组ICO图像,当屏幕分辩率改变时,会对不上吧?
      

  3.   


    公司里面的东西,截图不到了就是ToolBar上有Button,Buuton上有ICO图片,这个显示的图片有底色,我想要透明的
      

  4.   


    应该不会有问题,绘制的时候,是先把图做拉伸,然后再把位图做Mask运算。理论上没有问题,但这种情况我并没有试过。
      

  5.   

    换成了Cdialogbar+CReBar实现,谢谢大家