【发布时间】:2008-10-22 14:46:57
【问题描述】:
如何将真彩色图像加载到 CImageList 中?
我现在有
mImageList.Create(IDB_IMGLIST_BGTASK, 16, 1, RGB(255,0,255));
IDB_IMGLIST_BGTASK 是 64x16 真彩色图像。我使用的 ClistCtrl 显示 16 bpp 颜色。我没有看到允许我同时指定 bpp 和要加载的资源的 Create 重载。
【问题讨论】:
如何将真彩色图像加载到 CImageList 中?
我现在有
mImageList.Create(IDB_IMGLIST_BGTASK, 16, 1, RGB(255,0,255));
IDB_IMGLIST_BGTASK 是 64x16 真彩色图像。我使用的 ClistCtrl 显示 16 bpp 颜色。我没有看到允许我同时指定 bpp 和要加载的资源的 Create 重载。
【问题讨论】:
需要 4 行代码,但这行得通:
CBitmap bm;
bm.LoadBitmap(IDB_IMGLIST_BGTASK);
mImageList.Create(16, 16, ILC_COLOR32 | ILC_MASK, 4, 4);
mImageList.Add(&bm, RGB(255,0,255));
【讨论】:
CImageList::Create(int cx, int cy, UINT nFlags, int nInitial, int nGrow)
允许使用nFlags 参数指定不同的标志。你可以尝试使用ILC_COLOR32 | ILC_MASK之类的东西。
【讨论】: