Condividi tramite


CFont::CreateFont

Inizializza un oggetto CFont con le caratteristiche specificate.

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  
);

Parametri

  • nHeight
    Specifica l'altezza desiderata (in unità logiche) di carattere. Vedere il membro lfHeight della struttura LOGFONTin Windows SDK per una descrizione. Il valore assoluto nHeight non deve superare 16.384 unità dopo che è stato convertito. Per tutti i confronti di altezza, il mapper del carattere trova la maggiore carattere che non superi la dimensione richiesta o la più piccola carattere se tutti i tipi di carattere supera la dimensione richiesta.

  • nWidth
    Specifica la larghezza media (in unità logiche) di caratteri nel tipo di carattere. Se nWidth è 0, la percentuale di dispositivo verrà associata alla percentuale di digitalizzazione tipi di carattere disponibili per trovare una corrispondenza più vicina, che è determinato dal valore assoluto della differenza.

  • nEscapement
    Specifica l'angolo (in unità di 0,1 gradi) tra il vettore di sequenza di escape e l'asse x dell'area di visualizzazione. Il vettore di sequenza di escape è la linea tra le origini del primo e gli ultimi caratteri in una riga. L'angolo viene misurato in senso antiorario dall'asse x. Vedere il membro lfEscapement nella struttura LOGFONT in Windows SDK per ulteriori informazioni.

  • nOrientation
    Specifica l'angolo (in unità di 0,1 gradi) tra il riferimento di un carattere e l'asse x. L'angolo viene misurato in senso antiorario dall'asse x per sistemi di coordinate in cui la direzione y è premuto e in senso orario dall'asse x per sistemi di coordinate in cui la direzione y su.

  • nWeight
    Specifica lo spessore del carattere (in pixel inchiostrati a 1000). Vedere il membro lfWeight nella struttura LOGFONT in Windows SDK per ulteriori informazioni. I valori vengono descritti approssimativi; effettivo aspetto dipende dal carattere tipografico. Alcuni caratteri hanno solo FW_NORMAL, FW_REGULARe fattori FW_BOLD. Se FW_DONTCARE è specificato, il peso predefinito.

  • bItalic
    Specifica se il tipo è di corsivo.

  • bUnderline
    Specifica se il tipo è sottolineata.

  • cStrikeOut
    Specifica se i caratteri di carattere sono colpiti esterno. Specifica un tipo di carattere di barrato se impostato su un valore diverso da zero.

  • nCharSet
    Specifica il setSee di carattere del tipo del membro lfCharSet nella struttura LOGFONT in Windows SDK per un elenco di valori.

    Il set di caratteri OEM è un dipendente.

    I tipi di carattere con altri set di caratteri possono essere presente nel sistema. Un'applicazione che utilizza un carattere con un set di caratteri sconosciuto non deve tentare di convertire o interpretare le stringhe che devono essere eseguito il rendering con tale carattere. Invece, le stringhe devono essere passati direttamente al driver di periferica di output.

    Il mapper del tipo di carattere viene utilizzato il valore DEFAULT_CHARSET. Un'applicazione può utilizzare questo valore per consentire al nome e la dimensione di un tipo di carattere ampiamente descrivano il tipo logica. Se un tipo di carattere con il nome specificato non esiste, un tipo di carattere da qualsiasi set di caratteri può essere sostituita per il tipo specificato. Per evitare risultati imprevisti, le applicazioni devono utilizzare il valore DEFAULT_CHARSET sporadicamente.

  • nOutPrecision
    Specifica la precisione di output desiderata. La precisione di output definisce quanto l'output deve corrispondere strettamente l'altezza di carattere richiesta, la larghezza, l'orientamento di carattere, la sequenza di escape e il passo. Vedere il membro lfOutPrecision nella struttura LOGFONT in Windows SDK per un elenco di valori e di altre informazioni.

  • nClipPrecision
    Specifica la precisione ritaglio desiderata. La precisione del ritaglio definisce come devono essere ritagliati i caratteri che si trovano in parte all'esterno dell'area di visualizzazione. Vedere il membro lfClipPrecision nella struttura LOGFONT in Windows SDK per un elenco di valori.

    Per utilizzare un carattere di sola lettura incorporata, un'applicazione deve specificare CLIP_ENCAPSULATE.

    Per ottenere la rotazione coerente del dispositivo, TrueType e i tipi di carattere vettoriale, un'applicazione può utilizzare l'operatore OR per combinare il valore CLIP_LH_ANGLES con gli altri valori nClipPrecision. Se il bit CLIP_LH_ANGLES è impostato, la rotazione per tutti i tipi di carattere varia a seconda che l'orientamento del sistema di coordinate è left o della parte destra. (Per ulteriori informazioni sull'orientamento di sistemi di coordinate, vedere la descrizione del parametro nOrientation ). Se CLIP_LH_ANGLES non è impostato, tipi di carattere del dispositivo rotazione sempre in senso antiorario, ma la rotazione di altri tipi di carattere dipende dall'orientamento del sistema di coordinate.

  • nQuality
    Specifica la qualità di output di carattere, che definisce il GDI deve tentare attentamente di associare gli attributi di AND carattere a quelli dell'effettiva carattere fisica. Vedere il membro lfQuality nella struttura LOGFONT in Windows SDK per un elenco di valori.

  • nPitchAndFamily
    Specifica passo e famiglia del tipo di carattere. Vedere il membro lfPitchAndFamily nella struttura LOGFONT in Windows SDK per un elenco di valori e di altre informazioni.

  • lpszFacename
    CString o un puntatore a una stringa con terminazione null che specifica il nome del carattere tipografico di carattere. La lunghezza della stringa non deve superare 30 caratteri. La funzione di Windows EnumFontFamilies può essere utilizzata per enumerare tutti i tipi di carattere attualmente disponibili. Se lpszFacename è NULL, GDI utilizza un carattere tipografico indipendente dal dispositivo.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Note

Il tipo può essere successivamente scegliere come tipo di carattere per qualsiasi contesto di dispositivo.

La funzione CreateFont non crea una nuova il tipo di Windows GDI. Selezionare solo la corrispondenza più vicina dai tipi di carattere fisici disponibili in GDI.

Le applicazioni possono utilizzare le impostazioni predefinite per la maggior parte dei parametri quando si crea un tipo di carattere logica. I parametri che devono essere forniti sempre i valori specifici sono nHeight e lpszFacename. Se nHeight e lpszFacename non sono impostate dall'applicazione, carattere logica creata è dipendente dal dispositivo.

Dopo aver utilizzato l'oggetto CFont creato dalla funzione CreateFont, utilizzare CDC::SelectObject per selezionare un tipo di carattere diverso nel contesto di dispositivo, quindi eliminare l'oggetto CFont che non è più necessario.

Esempio

// The code fragment shows how to create a font object, 
// select the font object into a DC (device context) for text 
// drawing, and finally delete the font object. 

// Initializes a CFont object with the specified characteristics. 
CFont font;
VERIFY(font.CreateFont(
   12,                        // nHeight
   0,                         // nWidth
   0,                         // nEscapement
   0,                         // nOrientation
   FW_NORMAL,                 // nWeight
   FALSE,                     // bItalic
   FALSE,                     // bUnderline
   0,                         // cStrikeOut
   ANSI_CHARSET,              // nCharSet
   OUT_DEFAULT_PRECIS,        // nOutPrecision
   CLIP_DEFAULT_PRECIS,       // nClipPrecision
   DEFAULT_QUALITY,           // nQuality
   DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
   _T("Arial")));                 // lpszFacename 

// Do something with the font just created...
CClientDC dc(this);  
CFont* def_font = dc.SelectObject(&font);
dc.TextOut(5, 5, _T("Hello"), 5);
dc.SelectObject(def_font);

// Done with the font.  Delete the font object.
font.DeleteObject(); 

Requisiti

intestazione: afxwin.h

Vedere anche

Riferimenti

Classe CFont

Grafico delle gerarchie

CFont::CreateFontIndirect

CFont::CreatePointFont

CreateFont

EnumFontFamilies

EnumFonts

LOGFONT