Condividi tramite


Funzione CreateFontIndirectA (wingdi.h)

La funzione CreateFontIndirect crea un tipo di carattere logico con le caratteristiche specificate. Il tipo di carattere può essere successivamente selezionato come tipo di carattere corrente per qualsiasi contesto di dispositivo.

Sintassi

HFONT CreateFontIndirectA(
  [in] const LOGFONTA *lplf
);

Parametri

[in] lplf

Puntatore a una struttura LOGFONT che definisce le caratteristiche del tipo di carattere logico.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un handle per un tipo di carattere logico.

Se la funzione ha esito negativo, il valore restituito è NULL.

Osservazioni

La funzione CreateFontIndirect crea un tipo di carattere logico con le caratteristiche specificate nella struttura LOGFONT . Quando questo tipo di carattere viene selezionato utilizzando la funzione SelectObject , il mapper del tipo di carattere GDI tenta di associare il tipo di carattere logico a un tipo di carattere fisico esistente. Se non riesce a trovare una corrispondenza esatta, fornisce un'alternativa le cui caratteristiche corrispondono al maggior numero possibile di caratteristiche richieste.

Per ottenere il tipo di carattere appropriato in diverse versioni del sistema operativo, chiamare EnumFontFamiliesEx con le caratteristiche del tipo di carattere desiderate nella struttura LOGFONT, recuperare il nome del carattere tipografico appropriato e creare il tipo di carattere usando CreateFont o CreateFontIndirect.

Quando il tipo di carattere non è più necessario, chiamare la funzione DeleteObject per eliminarla.

I tipi di carattere per molte lingue dell'Asia orientale hanno due nomi di carattere tipografico: un nome inglese e un nome localizzato. CreateFont e CreateFontIndirect accettare il nome del carattere tipografico localizzato solo in impostazioni locali di sistema corrispondenti alla lingua, mentre accettano il nome del carattere tipografico inglese in tutte le altre impostazioni locali del sistema. Il metodo migliore consiste nel provare un nome e, in caso di errore, provare l'altro. Si noti che EnumFonts, EnumFontFamiliese EnumFontFamiliesEx restituire il nome del carattere tipografico inglese se le impostazioni locali di sistema non corrispondono alla lingua del tipo di carattere.

Il mapper del tipo di carattere per CreateFont, CreateFontIndirecte CreateFontIndirectEx riconosce sia l'inglese che il nome del carattere tipografico localizzato, indipendentemente dalle impostazioni locali.

Esempi

Per un esempio, vedere Creazione di un tipo di carattere logico.

Nota

L'intestazione wingdi.h definisce CreateFontIndirect come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione wingdi.h (include Windows.h)
libreria Gdi32.lib
dll Gdi32.dll

Vedere anche

CreateFont

CreateFontIndirectEx

DeleteObject

EnumFontFamilies

EnumFontFamiliesEx

EnumFonts

funzioni di tipo carattere e testo

panoramica tipi di carattere e testo

LOGFONT

SelectObject