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.

Commenti

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 di GDI tenta di corrispondere al tipo di carattere logico con 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 eliminarlo.

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 accettano 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 di sistema. Il metodo migliore consiste nel provare un nome e, in caso di errore, provare l'altro. Si noti che EnumFonts, EnumFontFamilies e EnumFontFamiliesEx restituiscono il nome del carattere tipografico inglese se le impostazioni locali del sistema non corrispondono alla lingua del tipo di carattere.

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

Esempio

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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wingdi.h (include Windows.h)
Libreria Gdi32.lib
DLL Gdi32.dll

Vedi anche

CreateFont

CreateFontIndirectEx

Deleteobject

EnumFontFamilies

EnumFontFamiliesEx

EnumFonts

Funzioni per tipi di carattere e testo

Cenni preliminari su tipi di carattere e testo

LOGFONT

SelectObject