64 lines
1.3 KiB
Plaintext
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";
|
|
}
|
|
|
|
|
|
|
|
|