How to use 256 Color Bitmaps in ImageList (Win32 SDK solution)

-->

This is how to use 256(or 16bit, 24bit)-color bitmaps in ImageLists for ListViews, TreeViews, etc...

Usually you use something like this to load/create your imagelist:

hScreens = ImageList_LoadImage(GetModuleHandle(NULL),
 MAKEINTRESOURCE(BMP_SCREENS), 100, CLR_NONE, CLR_NONE, IMAGE_BITMAP,
 LR_LOADTRANSPARENT);

However it will always convert your bitmap to 16 colors or fail. now, simply replace it with this code:
HBITMAP hScrBM;

hScreens = ImageList_Create(100, 70, ILC_COLOR8, 0, 999);
hScrBM = LoadImage(GetModuleHandle(NULL),
 MAKEINTRESOURCE(BMP_SCREENS256), IMAGE_BITMAP, 0, 0,
 LR_LOADTRANSPARENT);

ImageList_Add(hScreens, hScrBM, NULL);

DeleteObject(hScrBM);

Of course, you can use other values instead of ILC_COLOR8 (256color): ILC_COLOR16, ILC_COLOR24, ... (see "ImageList_Create()" online help in VC++)

Hope this helps...



Comments

  • Using hi/truecolor bitmaps in imagelists (MFC solution)

    Posted by Legacy on 02/11/1999 12:00am

    Originally posted by: Bartosz Bien

    Hi,
    
    

    You can also use MFC solution to use hi/truecolor bitmaps in imagelists. The following functions
    do nearly the same that you have achieved using Platform SDK:

    CBitmap::LoadBitmap
    CImageList::Create(int cx, int cy, UINT nFlags, int nInitial, int nGrow)
    CImageList::Add
    CBitmap::DeleteObject

    In CImageList::Create, use ILC_MASK | ILC_COLOR24 (bpp as needed).

    Regards,
    Bartosz Bien

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • With the average hard drive now averaging one terabyte in size, the fallout from the explosion of user-created data has become an overwhelming volume of potential evidence that law-enforcement and corporate investigators spend countless hours examining. Join Us and SANS' Rob Lee for our 45-minute webinar, A Triage and Collection Strategy for Time-Sensitive Investigations, will demonstrate how to: Identify the folders and files that often contain key insights Reduce the time spent sifting through content by …

  • This paper examines the difficulties and pain points that organizations encounter as they seek to straddle the conflicting pressures of ever increasing email volumes on one hand, and the need for faster, more flexible accessibility on the other. It also explores what practices and policies are currently in use when it comes to archiving emails, and the ways in which businesses can improve practices in this crucial area. There are, for example, options available which can bring email archiving up-to-date, with …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date