load_image_256.txt
上传用户:aimelife
上传日期:2007-01-01
资源大小:1k
文件大小:1k
源码类别:

GDI/图象编程

开发平台:

Visual C++

  1. This is how to use 256(or 16bit, 24bit)-color bitmaps in ImageLists for ListViews, TreeViews, etc... 
  2. Usually you use something like this to load/create your imagelist: 
  3. hScreens = ImageList_LoadImage(GetModuleHandle(NULL),
  4.  MAKEINTRESOURCE(BMP_SCREENS), 100, CLR_NONE, CLR_NONE, IMAGE_BITMAP,
  5.  LR_LOADTRANSPARENT);
  6. However it will always convert your bitmap to 16 colors or fail. now, simply replace it with this code: 
  7. HBITMAP hScrBM;
  8. hScreens = ImageList_Create(100, 70, ILC_COLOR8, 0, 999);
  9. hScrBM = LoadImage(GetModuleHandle(NULL),
  10.  MAKEINTRESOURCE(BMP_SCREENS256), IMAGE_BITMAP, 0, 0,
  11.  LR_LOADTRANSPARENT);
  12. ImageList_Add(hScreens, hScrBM, NULL);
  13. DeleteObject(hScrBM);
  14. Of course, you can use other values instead of ILC_COLOR8 (256color): ILC_COLOR16, ILC_COLOR24, ... (see "ImageList_Create()" online help in VC++)