#pragma once class CP4ImageList : public CImageList { protected: CBitmap *m_normalBmp; CBitmap *m_disabledBmp; CBitmap *m_disabledmenuBmp; CImageList * m_disabled; CImageList * m_disabledmenu; bool m_blendBackground; int m_colorDepth; bool m_use256ColorIcons; bool BlendBackground(int nId, COLORREF bg); bool BlendDisabledOnly(int nId, COLORREF bg); public: CP4ImageList(); ~CP4ImageList(); virtual bool Create() = 0; // force use of 256 color icons; call before Create() to have effect void Use256ColorIcons() { m_use256ColorIcons = true; } // get the disabled image list, if any CImageList * GetDisabled() { return m_disabled; } CImageList * GetDisabledMenu() { return m_disabledmenu; } // color depth this image was created for int ColorDepth() const { return m_colorDepth; } void OnSysColorChange(COLORREF bg); }; class CP4ToolBarImageList : public CP4ImageList { protected: bool Create(int cx, int cy, int idNormal4, int idDisabled4, int idNormal32, COLORREF transparent4); };