In questa puntata analizzeremo il comportamento della classe CFont e vedremo come sfruttare le caratteristiche di MFC per la scrittura grafica del testo.
La classe CFont possiede quattro funzioni membro per l'inizializzazione del tipo di carattere, ma noi utilizzeremo principalmente solo CreateFont che è quella più versatile nella maggioranza delle situazioni.
Il suo prototipo è il seguente:
BOOL CreateFont( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, BYTE bItalic, BYTE bUnderline, BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision, BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndFamily, LPCTSTR lpszFacename );
|
Constant |
Value |
|
FW_DONTCARE |
0 |
|
FW_THIN |
100 |
|
FW_EXTRALIGHT |
200 |
|
FW_ULTRALIGHT |
200 |
|
FW_LIGHT |
300 |
|
FW_NORMAL |
400 |
|
FW_REGULAR |
400 |
|
FW_MEDIUM |
500 |
|
FW_SEMIBOLD |
600 |
|
FW_DEMIBOLD |
600 |
|
FW_BOLD |
700 |
|
FW_EXTRABOLD |
800 |
|
FW_ULTRABOLD |
800 |
|
FW_BLACK |
900 |
|
FW_HEAVY |
900 |
|
Constant |
Value |
|
ANSI_CHARSET |
0 |
|
DEFAULT_CHARSET |
1 |
|
SYMBOL_CHARSET |
2 |
|
SHIFTJIS_CHARSET |
128 |
|
OEM_CHARSET |
255 |
Specificare il set di caratteri serve nel caso in cui il font scelto
non venga trovato nel sistema , in tal caso viene scelto il font
che più si avvicina a quello scelto, ma dal set di caratteri
specificato. Se si usa DEFAULT_CHARSET il font viene scelto tra
tutti i set di caratteri disponibili. Inoltre il set OEM_CHARSET
è dipendente dal sistema e poco si presta ad usi multi-piattaforma;
il più utilizzato è ANSI_CHARSET.
|
OUT_CHARACTER_PRECIS |
OUT_STRING_PRECIS |
|
OUT_DEFAULT_PRECIS |
OUT_STROKE_PRECIS |
|
OUT_DEVICE_PRECIS |
OUT_TT_PRECIS |
|
OUT_RASTER_PRECIS |
OUT_DEFAULT_PRECIS è l'opzione di default, mentre ad esempio OUT_TT_PRECIS forza il font-mapper ad utilizzare un carattere TrueType. Questa scelta incide molto sulle prestazioni.
|
CLIP_CHARACTER_PRECIS |
CLIP_MASK |
|
CLIP_DEFAULT_PRECIS |
CLIP_STROKE_PRECIS |
|
CLIP_ENCAPSULATE |
CLIP_TT_ALWAYS |
|
CLIP_LH_ANGLES |
L'opzione di default è CLIP_DEFAULT_PRECIS
DEFAULT_QUALITY : non ci sono particolari problemi per la visualizzazione del font.
- DRAFT_QUALITY : l'aspetto del font è meno importante che con PROOF_QUALITY.
- PROOF_QUALITY : l'aspetto del font è più importante della corrispondenza delle unità logiche, in questo caso lo scaling è disattivato e la dimensione è scelta dal font con dimensione che più si avvicina a quella specificata.
Torna all'indice Generale del corso di Corso di Visual C++ di Software Planet