Every image list includes a list of indexes to use as overlays. An overlay is an image drawn transparently over another image. Any image currently in the image list can be used as an overlay. You can specify up to four overlays for each image list.
Add the index of an image to the list of overlays by using the ImageList_SetOverlayImage function, specifying the handle to the image list, the index of the existing image, and the overlay index that you want. The overlay indexes are one-based rather than zero-based because an overlay index of zero means that no overlay will be used.
Specify an overlay when drawing an image with the ImageList_Draw or ImageList_DrawEx function. The overlay is specified by performing a logical OR operation between the desired drawing flags and the result of the INDEXTOOVERLAYMASK macro. The INDEXTOOVERLAYMASK macro formats the overlay index for inclusion with the flags for these functions.