我在.rc文件中有几个图像,例如:
IDB_COPY BITMAP "copy.bmp"
IDB_CUT BITMAP "cut.bmp"
IDB_PASTE BITMAP "paste.bmp"
我想将它们全部加载到ImageList中 如果我会写
HIMAGELIST hImageList = ImageList_LoadBitmap(hInstance, MAKEINTRESOURCEW(IDB_COPY), 16, 0, RGB(255, 0, 255));
它只加载第一个位图,如何加载它们?
答案 0 :(得分:4)
此代码实现:
HIMAGELIST hImageList = ImageList_LoadBitmap(hInstance, MAKEINTRESOURCEW(IDB_CUT), 16, 0, RGB(255, 0, 255));
ImageList_Add(hImageList, LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_COPY)), NULL);
ImageList_Add(hImageList, LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_PASTE)), NULL);
נ.ב. אםאיןאנילימילי
答案 1 :(得分:0)
如果您使用的是C ++ 11或更高版本,我建议您使用std::map
。
map<string,HBITMAP> hbm; // #include <map>
hbm["CUT"]=LoadBitmap(hInstance,MAKEINTRESOURCEW(IDB_CUT));
// ...
// or
map<int,HBITMAP> hbm1;
hbm1[0]=LoadBitmap(hInstance,MAKEINTRESOURCEW(IDB_CUT));
//...
我认为它更灵活方便,因为不同尺寸的图像也可以被接受。