Corso di Visual C++

Creare un oggetto CFont

 

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