Scegliere un tipo di carattere

In questo argomento viene descritto il codice di esempio che visualizza una finestra di dialogo tipo di carattere , in modo che un utente può scegliere gli attributi di un tipo di carattere. Il codice di esempio in primo luogo Inizializza una struttura CHOOSEFONT e quindi chiama la funzione ChooseFont per visualizzare la finestra di dialogo.

Questo esempio imposta il flag CF_SCREENFONTS per specificare che la finestra di dialogo dovrebbe visualizzare solo i caratteri dello schermo. Imposta il flag CF_EFFECTS per visualizzare i controlli che consentono all'utente di selezionare le opzioni di colore, sottolineato e barrato.

Se ChooseFont restituisce TRUE, che indica che l'utente fa clic sul pulsante OK , la struttura LOGFONT a cui puntata il lpLogFont membro della struttura CHOOSEFONT contiene informazioni che descrivono il carattere e gli attributi dei font selezionati dall'utente. Il membro rgbColors contiene il colore del testo selezionato. Il codice di esempio utilizza queste informazioni per impostare il colore dei caratteri e testo per il contesto di periferica associato alla finestra di proprietario.

HWND hwnd;                / / finestra proprietaria
HDC hdc;                  / / display il contesto di periferica di finestra proprietaria

CHOOSEFONT cf;            / / finestra di dialogo comune box struttura
statico LOGFONT lf;        / / logica struttura dei caratteri
statico DWORD rgbCurrent;   / / attualità colore del testo
HFONT hfont, hfontPrev;
DWORD rgbPrev;

/ / Initialize CHOOSEFONT
ZeroMemory (amp; cf, sizeof(CHOOSEFONT));
CF.lStructSize = sizeof (CHOOSEFONT);
CF.hwndOwner = hwnd;
CF.lpLogFont = & lf;
CF.rgbColors = rgbCurrent;
CF.Flags = CF_SCREENFONTS | CF_EFFECTS;

Se (ChooseFont(&cf) = = TRUE) {
    hFont = CreateFontIndirect(cf.lpLogFont);
    hfontPrev = SelectObject (hdc, hfont);
    rgbCurrent = cf.rgbColors;
    rgbPrev = SetTextColor (hdc, rgbCurrent);
 .
 .
 .
} 

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index