//+------------------------------------------------------------------+ //| Enumeration for Windows fonts indices storage | //+------------------------------------------------------------------+ class CFont { private: string m_fonts[]; public: CFont(void); ~CFont(void); int FontsTotal(void) const { return(::ArraySize(m_fonts)); } string FontsByIndex(const uint index); private: void InitializeFontsArray(void); }; CFont::CFont(void) { InitializeFontsArray(); } CFont::~CFont(void) { ::ArrayFree(m_fonts); } string CFont::FontsByIndex(const uint index) { uint array_size=FontsTotal(); uint i=(index>=array_size)? array_size-1 : index; return(m_fonts[i]); } void CFont::InitializeFontsArray(void) { ::ArrayResize(m_fonts,15); m_fonts[0]="Arial"; m_fonts[1]="Comic Sans MS"; m_fonts[2]="Courier"; m_fonts[3]="Courier New"; m_fonts[4]="Georgia"; m_fonts[5]="Lucida Console Bold"; m_fonts[6]="Palatino Linotype"; m_fonts[7]="Small Fonts"; m_fonts[8]="Tahoma"; m_fonts[9]="Times New Roman"; m_fonts[10]="Trebuchet MS"; m_fonts[11]="Verdana"; m_fonts[12]="Consolas"; m_fonts[13]="Simplified Arabic Fixed"; m_fonts[14]="Sitka Small"; }