CTreeCtrl设置了背景色后,如何把图标底色变得透明?

纠结的程序猿 2009-07-26 05:23:33
我用m_treeCtrl.SetBkColor(RGB(0, 255, 0));把CTreeCtrl的背景色变成绿色。
但是发现Tree中我自己添加的图标的底色却是白色。
怎样在CTreeCtrl中把图标的底色变成透明?
...全文
886 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
纠结的程序猿 2009-07-28
  • 打赏
  • 举报
回复
已经解决了。谢谢各位。
应该使用位图BITMAP,同时指定透明色的掩码。
codelast.com 2009-07-26
  • 打赏
  • 举报
回复
加载图标的时候,好像有个参数可以设置掩码的吧,那个掩码就是指将那种颜色设置成透明色
togoblime 2009-07-26
  • 打赏
  • 举报
回复
把ImageList的背景色始终设为跟TreeCtrl一样:
m_imageList.SetBkColor(m_treeCtrl.GetBkColor());
chenyu2202863 2009-07-26
  • 打赏
  • 举报
回复
用CImageList把PNG图标加载进来
纠结的程序猿 2009-07-26
  • 打赏
  • 举报
回复
我用的是Visual Studio 2005,把图标改成256色透明后仍然不行。
纠结的程序猿 2009-07-26
  • 打赏
  • 举报
回复
我的图标不是位图,是*.ico。
giskook 2009-07-26
  • 打赏
  • 举报
回复
如果图标是位图的话,在Imagelist中好像是可以设置那种颜色是透明色的。int Add( CBitmap* pbmImage, COLORREF crMask );CImagelist中Add方法的第二个COLORREF crMask 设成RGB( 255,255,255 )试试。要不就设成RGB(0,0,0);
纠结的程序猿 2009-07-26
  • 打赏
  • 举报
回复
我的图标的底色已经是透明色了。
纠结的程序猿 2009-07-26
  • 打赏
  • 举报
回复
什么图标编辑器比较好呢?最好是免费的,没有插件的。。。
WooSir 2009-07-26
  • 打赏
  • 举报
回复
可以下载第三方图标编辑器。
纠结的程序猿 2009-07-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 feihuanlee 的回复:]
资源编辑框默认的那个墨绿色就是透明色啊,把不想要的色彩用默认颜色填充就可以
[/Quote]
可以那个编辑器只能编辑256色的图标。
feihuanlee 2009-07-26
  • 打赏
  • 举报
回复
资源编辑框默认的那个墨绿色就是透明色啊,把不想要的色彩用默认颜色填充就可以

15,979

社区成员

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

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