The ImageList_Add function adds an image or images to an image list.
int ImageList_Add(
| HIMAGELIST himl, | // handle to the image list | 
| HBITMAP hbmImage, | // handle to the bitmap containing the image | 
| HBITMAP hbmMask | // handle to the bitmap containing the mask | 
| ); | 
If the function succeeds, the return value is the index of the first new image.
If the function fails, the return value is - 1.
The ImageList_Add function copies the bitmap to an internal data structure. Be sure to use the DeleteObject function to delete hbmImage and hbmMask after the function returns.