VC++中用CImageList加载位图

来源:百度知道 编辑:UC知道 时间:2024/09/21 03:30:24
图像列表中加载位图

m_imageList.Create(191,130,ILC_COLORDDB | ILC_MASK, 0, 4);
CBitmap bm;

for(int i = IDB_BITMAP1; i < IDB_BITMAP1 + 5; i++)
{
// bm.LoadBitmap(i);
m_imageList.Add(&bm, RGB(0, 0, 0));
}

我想用循环实现,可是在循环内部不能以一个对象调用多次LoadBitmap(),我的图很多怎么办?难道一定要相应创建很多CBitmap类对象吗?

CBitmap bm[5];

for(int i = IDB_BITMAP1; i < IDB_BITMAP1 + 5; i++)
{
bm[i-IDB_BITMAP1].LoadBitmap(i);
m_imageList.Add(&bm[i-IDB_BITMAP1], RGB(0, 0, 0));
}

对象数组可以么?

哇,比我强...我忘了有标识符了,上次15张图,复制了15遍代码

- -|||

可以这样用
m_imageList.Add(CBitmap::FromHandle(::LoadBitmap(NULL, i)), RGB(0, 0, 0));