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

WEBINAR:
On-Demand

Application Security Testing: An Integral Part of DevOps


-->

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
  • You must have javascript enabled in order to post comments.

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

Top White Papers and Webcasts

  • Learn how cybercriminals are populating botnets with easily exploitable Internet of Things devices like security cameras, webcams and DVRs.

  • IT planners have far more options as to where to run their workloads than ever before. On-premises data centers, co-location facilities and managed services providers are now joined by hybrid multi-clouds – a combination of Software-, Infrastructure- and Platform-as-a-Service (SaaS, IaaS, and PaaS) execution venues. All have unique operational, performance and economic characteristics that need to be considered when deploying workloads. Submit the form to watch this webinar replay featuring 451 …

Most Popular Programming Stories

More for Developers

RSS Feeds

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