TsSkinManager component has the SkinListController object.
This object contains the SkinList array:
Code:
SkinList: array of TacSkinListData;
Code:
TacSkinMode = (smInternal, smExtPacked, smExtUnpacked);
TacSkinListData = record
skName: string;
skSkinMode: TacSkinMode;
skImageIndex: integer;
end;
If thumbnail is assigned in a skin, then skImageIndex is >= 0
All images are stored in the SkinManager.SkinListController.ImgList property.
If you need to receive notifications about a skinlist updating, you should use the SkinManager.SkinListController.AddControl procedure.
Add your control there and check the SM_ALPHACMD message (from sMessage.pas) in your control.
If Message.WParamHi parameter is AC_SKINCHANGED then current skin is changed.
If Message.WParamHi parameter is AC_SKINLISTCHANGED then list skins is changed.
Use the SkinManager.SkinListController.DelControl procedure for removing of your control from this notification system.