如何在CTreeCtrl中显示透明图标?

louifox 2003-11-04 11:13:23
CImageList* pImage = new CImageList;
pImage->Create(16,16,ILC_COLOR24 ,1,1);
CBitmap bm;
bm.LoadBitmap(IDB_BITMAP_STOCKHOUSE);
pImage->SetBkColor(RGB(255, 255, 255));
pImage->Add(&bm, RGB(0, 0, 0));

theTree.SetImageList( pImage, TVSIL_NORMAL );
为什么这样不行?
...全文
79 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljzcom 2003-11-04
  • 打赏
  • 举报
回复
flyelf(空谷清音) 兄的是正确的。
vcforever 2003-11-04
  • 打赏
  • 举报
回复
在你创建ImageList的时候加上ILC_MASK就可以了!
如下:
m_ImageList.Create(16,16,ILC_COLOR24 | ILC_MASK,1,1);

祝你成功!
mathliu 2003-11-04
  • 打赏
  • 举报
回复
up.
BTW, 使用ILC_COLOR24且为透明效果消耗的系统资源太多了,使用TVSIL_NORMAL 并把图片背景先设为与Tree的北京相同是最简单且高效的方法。
flyelf 2003-11-04
  • 打赏
  • 举报
回复
pImage->Create(16,16,ILC_COLOR24 ,1,1);--->
pImage->Create(16,16,ILC_COLOR24 | ILC_MASK,1,1);

15,979

社区成员

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

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