Struttura CHOOSEFONTA (commdlg.h)

Contiene informazioni usate dalla funzione ChooseFont per inizializzare la finestra di dialogo Carattere . Dopo aver chiuso la finestra di dialogo, il sistema restituisce informazioni sulla selezione dell'utente in questa struttura.

Sintassi

typedef struct tagCHOOSEFONTA {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HDC          hDC;
  LPLOGFONTA   lpLogFont;
  INT          iPointSize;
  DWORD        Flags;
  COLORREF     rgbColors;
  LPARAM       lCustData;
  LPCFHOOKPROC lpfnHook;
  LPCSTR       lpTemplateName;
  HINSTANCE    hInstance;
  LPSTR        lpszStyle;
  WORD         nFontType;
  WORD         ___MISSING_ALIGNMENT__;
  INT          nSizeMin;
  INT          nSizeMax;
} CHOOSEFONTA;

Members

lStructSize

Tipo: DWORD

Lunghezza della struttura, in byte.

hwndOwner

Tipo: HWND

Handle nella finestra che possiede la finestra di dialogo. Questo membro può essere qualsiasi handle di finestra valido oppure può essere NULL se la finestra di dialogo non ha alcun proprietario.

hDC

Tipo: HDC

Questo membro viene ignorato dalla funzione ChooseFont .

Windows Vista e Windows XP/2000: Handle per il contesto del dispositivo o il contesto informativo della stampante i cui tipi di carattere verranno elencati nella finestra di dialogo. Questo membro viene usato solo se il membro Flags specifica il flag CF_PRINTERFONTS o CF_BOTH ; in caso contrario, questo membro viene ignorato.

lpLogFont

Tipo: LPLOGFONT

Puntatore a una struttura LOGFONT . Se si imposta il flag di CF_INITTOLOGFONTSTRUCT nel membro Flags e si inizializza l'altro membro, la funzione ChooseFont inizializza la finestra di dialogo con un tipo di carattere corrispondente ai membri LOGFONT . Se l'utente fa clic sul pulsante OK , ChooseFont imposta i membri della struttura LOGFONT in base alle selezioni dell'utente.

iPointSize

Tipo: INT

Dimensione del tipo di carattere selezionato, in unità di 1/10 di un punto. La funzione ChooseFont imposta questo valore dopo che l'utente chiude la finestra di dialogo.

Flags

Tipo: DWORD

Set di flag di bit che è possibile usare per inizializzare la finestra di dialogo Carattere . Quando la finestra di dialogo restituisce, imposta questi flag per indicare l'input dell'utente. Questo membro può essere uno o più dei valori seguenti.

Valore Significato
CF_APPLY
0x0000200L
Fa sì che la finestra di dialogo visualizzi il pulsante Applica . È consigliabile fornire una procedura di hook per elaborare i messaggi WM_COMMAND per il pulsante Applica . La procedura di hook può inviare il messaggio WM_CHOOSEFONT_GETLOGFONT alla finestra di dialogo per recuperare l'indirizzo della struttura che contiene le selezioni correnti per il tipo di carattere.
CF_ANSIONLY
0x00000400L
Questo flag è obsoleto. Per limitare le selezioni dei tipi di carattere a tutti gli script, ad eccezione di quelli che usano i set di caratteri OEM o Symbol, usare CF_SCRIPTSONLY. Per ottenere il comportamento di CF_ANSIONLY originale, usare CF_SELECTSCRIPT e specificare ANSI_CHARSET nel membro lfCharSet della struttura LOGFONT a cui punta lpLogFont.
CF_BOTH
0x00000003
Questo flag viene ignorato per l'enumerazione del tipo di carattere.

Windows Vista e Windows XP/2000: Causa l'elenco dei tipi di carattere della stampante e dello schermo disponibili nella finestra di dialogo. Il membro hDC è un handle per il contesto del dispositivo o il contesto informativo associato alla stampante. Questo flag è una combinazione dei flag di CF_SCREENFONTS e CF_PRINTERFONTS .

CF_EFFECTS
0x00000100L
Consente alla finestra di dialogo di visualizzare i controlli che consentono all'utente di specificare le opzioni di barratura, sottolineatura e colore di testo. Se questo flag è impostato, è possibile usare il membro rgbColors per specificare il colore di testo iniziale. È possibile usare i membri lfStrikeOut e lfUnderline della struttura a cui punta lpLogFont per specificare le impostazioni iniziali delle caselle di controllo strikeout e sottolineatura. ScegliereFont può usare questi membri per restituire le selezioni dell'utente.
CF_ENABLEHOOK
0x00000008L
Abilita la procedura di hook specificata nel membro lpfnHook di questa struttura.
CF_ENABLETEMPLATE
0x00000010L
Indica che i membri hInstance e lpTemplateName specificano un modello di finestra di dialogo da usare al posto del modello predefinito.
CF_ENABLETEMPLATEHANDLE
0x00000020L
Indica che il membro hInstance identifica un blocco di dati contenente un modello di finestra di dialogo precaricati. Il sistema ignora il membro lpTemplateName se questo flag è specificato.
CF_FIXEDPITCHONLY
0x00004000L

ScegliereFont deve enumerare e consentire la selezione solo dei tipi di carattere a passo fisso.

CF_FORCEFONTEXIST
0x00010000L

ScegliereFont deve indicare una condizione di errore se l'utente tenta di selezionare un tipo di carattere o uno stile non elencato nella finestra di dialogo.

CF_INACTIVEFONTS
0x02000000L

ScegliereFont deve inoltre visualizzare i tipi di carattere impostati su Nascondi nei tipi di carattere لوحة التحكم.

Windows Vista e Windows XP/2000: Questo flag non è supportato fino a Windows 7.

CF_INITTOLOGFONTSTRUCT
0x00000040L

ScegliereFont deve usare la struttura a cui punta il membro lpLogFont per inizializzare i controlli della finestra di dialogo.

CF_LIMITSIZE
0x00002000L

ScegliereFont deve selezionare solo le dimensioni del carattere all'interno dell'intervallo specificato dai membri nSizeMin e nSizeMax.

CF_NOOEMFONTS
0x00000800L
Uguale al flag di CF_NOVECTORFONTS .
CF_NOFACESEL
0x00080000L
Quando si usa una struttura LOGFONT per inizializzare i controlli della finestra di dialogo, usare questo flag per impedire alla finestra di dialogo di visualizzare una selezione iniziale per la casella combinata nome carattere. Ciò è utile quando non esiste un singolo nome di carattere che si applica alla selezione del testo.
CF_NOSCRIPTSEL
0x0080000L
Disabilita la casella combinata Script . Quando questo flag viene impostato, il membro lfCharSet della struttura LOGFONT è impostato su DEFAULT_CHARSET quando ChooseFont restituisce. Questo flag viene usato solo per inizializzare la finestra di dialogo.
CF_NOSIMULATIONS
0x00001000L

ScegliereFont non deve visualizzare o consentire la selezione di simulazioni dei tipi di carattere.

CF_NOSIZESEL
0x0020000L
Quando si usa una struttura per inizializzare i controlli della finestra di dialogo, usare questo flag per impedire alla finestra di dialogo di visualizzare una selezione iniziale per la casella combinata Dimensioni carattere . Ciò è utile quando non esiste una singola dimensione del tipo di carattere che si applica alla selezione del testo.
CF_NOSTYLESEL
0x0010000L
Quando si usa una struttura LOGFONT per inizializzare i controlli della finestra di dialogo, usare questo flag per impedire alla finestra di dialogo di visualizzare una selezione iniziale per la casella combinata Stile carattere . Ciò è utile quando non esiste uno stile di carattere singolo che si applica alla selezione del testo.
CF_NOVECTORFONTS
0x00000800L

ChooseFont non deve consentire le selezioni dei tipi di carattere vettoriali.

CF_NOVERTFONTS
0x0100000L
Fa sì che la finestra di dialogo Carattere elenchi solo tipi di carattere orientati orizzontalmente.
CF_PRINTERFONTS
0x00000002
Questo flag viene ignorato per l'enumerazione del tipo di carattere.

Windows Vista e Windows XP/2000: Consente alla finestra di dialogo di elencare solo i tipi di carattere supportati dalla stampante associata al contesto del dispositivo o al contesto informativo identificato dal membro hDC . Inoltre, l'etichetta della descrizione del tipo di carattere viene visualizzata nella parte inferiore della finestra di dialogo Carattere .

CF_SCALABLEONLY
0x0002000L
Specifica che ChooseFont deve consentire solo la selezione di tipi di carattere scalabili. I tipi di carattere scalabili includono tipi di carattere vettoriale, tipi di carattere scalabili, tipi di carattere TrueType e tipi di carattere ridimensionati da altre tecnologie.
CF_SCREENFONTS
0x00000001
Questo flag viene ignorato per l'enumerazione del tipo di carattere.

Windows Vista e Windows XP/2000: Determina che la finestra di dialogo elenca solo i tipi di carattere dello schermo supportati dal sistema.

CF_SCRIPTSONLY
0x00000400L

ScegliereFont deve consentire la selezione dei tipi di carattere per tutti i set di caratteri non OEM e Simbolo, nonché per il set di caratteri ANSI. Questo sostituisce il valore di CF_ANSIONLY .

CF_SELECTSCRIPT
0x0040000L
Se specificato in input, vengono visualizzati solo tipi di carattere con il set di caratteri identificato nel membro lfCharSet della struttura LOGFONT . L'utente non potrà modificare il set di caratteri specificato nella casella combinata Script .
CF_SHOWHELP
0x00000004L
Fa sì che la finestra di dialogo visualizzi il pulsante Guida . Il membro hwndOwner deve specificare la finestra per ricevere i messaggi registrati HELPMSGSTRING inviati dalla finestra di dialogo quando l'utente fa clic sul pulsante Guida .
CF_TTONLY
0x00040000L

ScegliereFont deve enumerare e consentire la selezione dei tipi di carattere TrueType.

CF_USESTYLE
0x00000080L
Il membro lpszStyle è un puntatore a un buffer che contiene dati di stile che ChooseFont deve usare per inizializzare la casella combinata Stile carattere . Quando l'utente chiude la finestra di dialogo, ScegliFont copia i dati dello stile per la selezione dell'utente nel buffer.
Nota Per globalizzare l'applicazione, è necessario specificare lo stile usando i membri lfWeight elfItalic della struttura LOGFONT a cui punta lpLogFont. Il nome dello stile può cambiare a seconda della lingua dell'interfaccia utente di sistema.
 
CF_WYSIWYG
0x00008000L
Obsoleta. ScegliereFont ignora questo flag.

Windows Vista e Windows XP/2000: ChooseFont deve consentire solo la selezione di tipi di carattere disponibili nella stampante e nella visualizzazione. Se questo flag è specificato, è necessario specificare anche i flag CF_SCREENSHOTS e CF_PRINTERFONTS o CF_BOTH .

rgbColors

Tipo: COLORREF

Se il flag di CF_EFFECTS è impostato, rgbColors specifica il colore di testo iniziale. Quando ChooseFont restituisce correttamente, questo membro contiene il valore RGB del colore del testo selezionato dall'utente. Per creare un valore di colore COLORREF , usare la macro RGB .

lCustData

Tipo: LPARAM

Dati definiti dall'applicazione che il sistema passa alla procedura di hook identificata dal membro lpfnHook . Quando il sistema invia il messaggio di WM_INITDIALOG alla procedura di hook, il parametro lParam del messaggio è un puntatore alla struttura CHOOSEFONT specificata al momento della creazione della finestra di dialogo. La procedura di hook può usare questo puntatore per ottenere il valore lCustData .

lpfnHook

Tipo: LPCFHOOKPROC

Puntatore a una routine di hook CFHookProc che può elaborare i messaggi destinati alla finestra di dialogo. Questo membro viene ignorato a meno che il flag di CF_ENABLEHOOK non sia impostato nel membro Flags .

lpTemplateName

Tipo: LPCTSTR

Nome della risorsa modello della finestra di dialogo nel modulo identificato dal membro hInstance . Questo modello viene sostituito per il modello di finestra di dialogo standard. Per le risorse della finestra di dialogo numerate, lpTemplateName può essere un valore restituito dalla macro MAKEINTRESOURCE . Questo membro viene ignorato a meno che il flag di CF_ENABLETEMPLATE non sia impostato nel membro Flags .

hInstance

Tipo: HINSTANCE

Se il flag di CF_ENABLETEMPLATEHANDLE è impostato nel membro Flags , hInstance è un handle su un oggetto memoria contenente un modello di finestra di dialogo. Se il flag CF_ENABLETEMPLATE è impostato, hInstance è un handle su un modulo che contiene un modello di finestra di dialogo denominato dal membro lpTemplateName . Se non viene impostato né CF_ENABLETEMPLATEHANDLECF_ENABLETEMPLATE , questo membro viene ignorato.

lpszStyle

Tipo: LPTSTR

Dati di stile. Se viene specificato il flag CF_USESTYLE , ChooseFont usa i dati in questo buffer per inizializzare la casella combinata Stile carattere . Quando l'utente chiude la finestra di dialogo, ScegliFont copia la stringa nella casella combinata Stile carattere in questo buffer.

nFontType

Tipo: WORD

Tipo del tipo di carattere selezionato quando ChooseFont restituisce. Questo membro può essere uno o più dei valori seguenti.

Valore Significato
BOLD_FONTTYPE
0x0100
Il peso del carattere è grassetto. Queste informazioni vengono duplicate nel membro lfWeight della struttura LOGFONT ed è equivalente a FW_BOLD.
ITALIC_FONTTYPE
0x0200
L'attributo carattere corsivo è impostato. Queste informazioni vengono duplicate nel membro lfItalic della struttura LOGFONT .
PRINTER_FONTTYPE
0x4000
Il tipo di carattere è un tipo di carattere della stampante.
REGULAR_FONTTYPE
0x0400
Il peso del carattere è normale. Queste informazioni vengono duplicate nel membro lfWeight della struttura LOGFONT ed è equivalente a FW_REGULAR.
SCREEN_FONTTYPE
0x2000
Il carattere è un carattere dello schermo.
SIMULATED_FONTTYPE
0x8000
Il tipo di carattere è simulato dall'interfaccia del dispositivo grafico (GDI).

___MISSING_ALIGNMENT__

nSizeMin

Tipo: INT

La dimensione minima selezionabile da un utente, espressa in punti. ChooseFont riconosce questo membro solo se viene specificato il flag CF_LIMITSIZE .

nSizeMax

Tipo: INT

La dimensione massima selezionabile da un utente, espressa in punti. ChooseFont riconosce questo membro solo se viene specificato il flag CF_LIMITSIZE .

Commenti

Nota

L'intestazione commdlg.h definisce CHOOSEFONT 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

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione commdlg.h

Vedi anche

ScegliFont

Libreria delle finestre di dialogo comuni

Informazioni concettuali

MAKEINTRESOURCE

Riferimento