#include "StdAfx.h" #include "IconLib.h" #include #include "resource.h" #include "EconomicRateInfo.h" // #include #include #include #pragma warning (disable:4996) #include #pragma warning (default:4996) #include "ModuleInfo.h" // extern HMODULE g_hInstance; namespace { struct CIconList { TCHAR* szDescr; char* szName; int defIconID; HANDLE hIconLibItem; }; CIconList iconList[] = { { _T("Protocol icon"), ICON_STR_MAIN, IDI_ICON_MAIN }, { _T("Quote/Rate up"), ICON_STR_QUOTE_UP, IDI_ICON_UP }, { _T("Quote/Rate down"), ICON_STR_QUOTE_DOWN, IDI_ICON_DOWN }, { _T("Quote/Rate not changed"), ICON_STR_QUOTE_NOT_CHANGED, IDI_ICON_NOTCHANGED }, { _T("Quote Section"), ICON_STR_SECTION, IDI_ICON_SECTION }, { _T("Quote"), ICON_STR_QUOTE, IDI_ICON_QUOTE }, { _T("Currency Converter"), ICON_STR_CURRENCY_CONVERTER, IDI_ICON_CURRENCY_CONVERTER }, { _T("Refresh"), ICON_STR_REFRESH, IDI_ICON_REFRESH }, { _T("Export"), ICON_STR_EXPORT, IDI_ICON_EXPORT }, { _T("Swap button"), ICON_STR_SWAP, IDI_ICON_SWAP }, { _T("Import"), ICON_STR_IMPORT, IDI_ICON_IMPORT } }; } void Quotes_IconsInit() { USES_CONVERSION; SKINICONDESC sid = {0}; TCHAR szFile[MAX_PATH]; ::GetModuleFileName(g_hInstance, szFile, MAX_PATH); sid.cbSize = sizeof(SKINICONDESC); sid.ptszDefaultFile = szFile; sid.cx = sid.cy = 16; sid.flags = SIDF_ALL_TCHAR; sid.ptszSection = A2T(QUOTES_PROTOCOL_NAME); for (int i = 0; i < SIZEOF(iconList); i++) { std::string sName = Quotes_MakeIconName( iconList[i].szName); sid.pszName = const_cast(sName.c_str()); sid.ptszDescription = iconList[i].szDescr; sid.iDefaultIndex = -iconList[i].defIconID; iconList[i].hIconLibItem = Skin_AddIcon(&sid); } } std::string Quotes_MakeIconName(const char* name) { assert(name); //char szSettingName[100]; //mir_snprintf(szSettingName,SIZEOF(szSettingName),"%s_%s",QUOTES_PROTOCOL_NAME,name); std::string sName(QUOTES_PROTOCOL_NAME); sName += "_"; sName += name; return sName; } HICON Quotes_LoadIconEx(const char* name,bool bBig /*= false*/) { std::string sIconName = Quotes_MakeIconName(name); return Skin_GetIcon(sIconName.c_str(), bBig); } HANDLE Quotes_GetIconHandle(int iconId) { for(int i=0;i < SIZEOF(iconList);i++) { if(iconList[i].defIconID == iconId) { return iconList[i].hIconLibItem; } } return NULL; }