Files
2025-02-07 19:13:59 +03:30

64 lines
1.3 KiB
Plaintext

//+------------------------------------------------------------------+
//| 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";
}