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.