W tym temacie opisano przykładowy kod, który wyświetla okno dialogowe Czcionka , więc użytkownik może wybrać atrybuty czcionki. Przykładowy kod najpierw inicjuje strukturę CHOOSEFONT , a następnie wywołuje funkcję ChooseFont , aby wyświetlić okno dialogowe.
W tym przykładzie ustawia flagę CF_SCREENFONTS, aby określić, że w oknie dialogowym powinno być wyświetlane tylko czcionki ekranowe. Ustawia flagę CF_EFFECTS, aby wyświetlić elementy sterujące, umożliwiające użytkownikowi wybranie przekreślenie, podkreślenie i opcje kolorów.
ChooseFont zwraca wartość TRUE, wskazujące, że użytkownik kliknął przycisk OK , LOGFONT struktury wskazywanego przez członka lpLogFont struktury CHOOSEFONT zawiera informacje opisujące czcionki i atrybutów czcionki wybranej przez użytkownika. Element rgbColors zawiera kolor zaznaczonego tekstu. Kod przykładowy używa tych informacji do ustawienia czcionki i kolor dla kontekstu urządzenia związane z okna właściciela.
HWND hwnd; / / właściciel okna
HDC hdc; / / wyświetlacza kontekstu urządzenia właściciela okna
CHOOSEFONT cf; / / wspólne dialogowego struktury
statyczne lf LOGFONT; / / logicznej struktury czcionek
statyczne DWORD rgbCurrent; / / bieżący kolor tekstu
HFONT hfont, hfontPrev;
DWORD rgbPrev;
/ / Inicjuj CHOOSEFONT
ZeroMemory (amp; cf, sizeof(CHOOSEFONT));
CF.lStructSize = sizeof (CHOOSEFONT);
CF.hwndOwner = hwnd;
CF.lpLogFont = & lf;
CF.rgbColors = rgbCurrent;
CF.Flagi = CF_SCREENFONTS | CF_EFFECTS;
Jeżeli (ChooseFont(&cf) == TRUE) {}
hfont = CreateFontIndirect(cf.lpLogFont);
hfontPrev = WybierzObiekt (hdc, hfont);
rgbCurrent = cf.rgbColors;
rgbPrev = SetTextColor (hdc, rgbCurrent);
.
.
.
}