65 lines
1.3 KiB
C++
65 lines
1.3 KiB
C++
#ifndef __TINY_IMAGE_LIST_H__
|
|
#define __TINY_IMAGE_LIST_H__
|
|
|
|
#pragma once
|
|
|
|
#ifndef __TINY_MAIN_H__
|
|
#error "_TinyImageList requires <_TinyMain.h>"
|
|
#endif
|
|
|
|
class _TinyImageList
|
|
{
|
|
public:
|
|
_TinyImageList() { m_hImgLst = NULL; };
|
|
~_TinyImageList()
|
|
{
|
|
if (m_hImgLst)
|
|
_TinyVerify(ImageList_Destroy(m_hImgLst));
|
|
};
|
|
|
|
BOOL Create(UINT iFlags = ILC_COLOR, UINT iCX = 16, UINT iCY = 16, UINT iMaxItems = 32)
|
|
{
|
|
_TinyAssert(m_hImgLst == NULL);
|
|
m_hImgLst = ImageList_Create(iCX, iCY, iFlags, 0, iMaxItems);
|
|
if (m_hImgLst == NULL)
|
|
{
|
|
_TINY_CHECK_LAST_ERROR
|
|
return FALSE;
|
|
}
|
|
return TRUE;
|
|
};
|
|
|
|
BOOL CreateFromBitmap(const char *pszBitmap, UINT iCX)
|
|
{
|
|
_TinyAssert(m_hImgLst == NULL);
|
|
m_hImgLst = ImageList_LoadBitmap(_Tiny_GetResourceInstance(), pszBitmap, iCX, 32, 0x00FF00FF);
|
|
if (m_hImgLst == NULL)
|
|
{
|
|
_TINY_CHECK_LAST_ERROR
|
|
return FALSE;
|
|
}
|
|
return TRUE;
|
|
};
|
|
|
|
BOOL AddImage(DWORD dwResource)
|
|
{
|
|
_TinyAssert(m_hImgLst);
|
|
HBITMAP hBmp = LoadBitmap(_Tiny_GetResourceInstance(), MAKEINTRESOURCE(dwResource));
|
|
if (hBmp == NULL)
|
|
{
|
|
_TINY_CHECK_LAST_ERROR
|
|
return FALSE;
|
|
}
|
|
ImageList_Add(m_hImgLst, hBmp, NULL);
|
|
_TinyVerify(DeleteObject(hBmp));
|
|
};
|
|
|
|
HIMAGELIST GetHandle() { return m_hImgLst; };
|
|
|
|
UINT GetImageCount() const { return ImageList_GetImageCount(m_hImgLst); };
|
|
|
|
protected:
|
|
HIMAGELIST m_hImgLst;
|
|
};
|
|
|
|
#endif |