CImageList创建:读取图像,创建CImageList对象,将图像添加到对象中。
1 | bool bIsOK=true; |
参考文档
- [CImageList]: https://docs.microsoft.com/zh-cn/cpp/mfc/reference/cbitmap-class?view=vs-2019#loadbitma
CSDN论坛
用了ILC_MASK后,可以这样做:
m_ImageList.Create(15,15,ILC_COLOR24|ILC_MASK,3,2);
CBitmap bmp1;
bmp1.LoadBitmap(IDB_COMOFF);
m_ImageList.Add(&bmp1,RGB(255,255,255));
最后一个参数就是指透明的颜色,表示显示时需要将图片IDB_COMOFF的所有白色透明掉。否则就会有白色底的。每个图片都是长方形的,你的图标整个长方形区域都作为有效内容了,自然没有透明的必要。但是,很多图标只是长方形中的某一部分是有意义的,其它都是背景色。将背景色透明是最好的显示效果。因此这个ILC_MASK就帮助你实现它。否则即使Add时指定了透明色也不起作用。