1 // Windows/Control/ImageList.h
\r
3 #ifndef __WINDOWS_CONTROL_IMAGELIST_H
\r
4 #define __WINDOWS_CONTROL_IMAGELIST_H
\r
6 #include "Windows/Defs.h"
\r
13 HIMAGELIST m_Object;
\r
15 operator HIMAGELIST() const {return m_Object; }
\r
16 CImageList(): m_Object(NULL) {}
\r
17 bool Attach(HIMAGELIST imageList)
\r
19 if (imageList == NULL)
\r
21 m_Object = imageList;
\r
27 HIMAGELIST imageList = m_Object;
\r
32 bool Create(int width, int height, UINT flags, int initialNumber, int grow)
\r
34 HIMAGELIST a = ImageList_Create(width, height, flags,
\r
35 initialNumber, grow);
\r
41 bool Destroy() // DeleteImageList() in MFC
\r
43 if (m_Object == NULL)
\r
45 return BOOLToBool(ImageList_Destroy(Detach()));
\r
51 int GetImageCount() const
\r
52 { return ImageList_GetImageCount(m_Object); }
\r
54 bool GetImageInfo(int index, IMAGEINFO* imageInfo) const
\r
55 { return BOOLToBool(ImageList_GetImageInfo(m_Object, index, imageInfo)); }
\r
57 int Add(HBITMAP hbmImage, HBITMAP hbmMask = 0)
\r
58 { return ImageList_Add(m_Object, hbmImage, hbmMask); }
\r
59 int AddMasked(HBITMAP hbmImage, COLORREF mask)
\r
60 { return ImageList_AddMasked(m_Object, hbmImage, mask); }
\r
61 int AddIcon(HICON icon)
\r
62 { return ImageList_AddIcon(m_Object, icon); }
\r
63 int Replace(int index, HICON icon)
\r
64 { return ImageList_ReplaceIcon(m_Object, index, icon); }
\r
66 // If index is -1, the function removes all images.
\r
67 bool Remove(int index)
\r
68 { return BOOLToBool(ImageList_Remove(m_Object, index)); }
\r
70 { return BOOLToBool(ImageList_RemoveAll(m_Object)); }
\r
72 HICON ExtractIcon(int index)
\r
73 { return ImageList_ExtractIcon(NULL, m_Object, index); }
\r
74 HICON GetIcon(int index, UINT flags)
\r
75 { return ImageList_GetIcon(m_Object, index, flags); }
\r
77 bool GetIconSize(int &width, int &height) const
\r
78 { return BOOLToBool(ImageList_GetIconSize(m_Object, &width, &height)); }
\r
79 bool SetIconSize(int width, int height)
\r
80 { return BOOLToBool(ImageList_SetIconSize(m_Object, width, height)); }
\r