CTreeCtrl 设置图标

mfc界面修改真难受

使用CTreeCtrl 进行设置导航视图时,有时候需要设置图标,一般使用如下代码

m_TreeViewImages.DeleteImageList();

UINT uiBmpId = IDB_ICONLIST_TREE;

CBitmap bmp;
if (!bmp.LoadBitmap(uiBmpId)) return;

BITMAP bmpObj;
bmp.GetBitmap(&bmpObj);

UINT nFlags = ILC_MASK;
nFlags |= ILC_COLOR24;

m_TreeViewImages.Create(20, 20, nFlags, 0, 0);
m_TreeViewImages.Add(&bmp, RGB(255, 0, 255));

SetImageList(&m_TreeViewImages, TVSIL_NORMAL);

如果图标资源是PNG格式,也可以使用

CPngImage image;
image.Load(IDB_PNG1, nullptr);

来加载png图像

但是注意有个坑,虽然图像位数没有限制,创建图像列表时,也有ILC_COLOR32类型可供选择,但是软件实际只能显示出24位效果。(也可能有其他原因导致,但是目前没找到原因)

如果使用了32位图像,效果看运气

所以最好添加时,直接使用24位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值