Dieses Thema beschreibt Beispielcode, der eine Schriftart -Dialogfeld wird angezeigt, damit ein Benutzer die Attribute einer Schriftart auswählen kann. Der Code initialisiert zuerst eine CHOOSEFONT Struktur und ruft dann die ChooseFont -Funktion, um das Dialogfeld anzuzeigen.
In diesem Beispiel wird das CF_SCREENFONTS-Flag angeben, dass das Dialogfeld nur Bildschirmschriftarten anzeigen soll. Es setzt das Flag CF_EFFECTS Steuerelemente anzuzeigen, die dem Benutzer ermöglichen, durchgestrichen, unterstrichen und Farboptionen auswählen.
Wenn ChooseFont TRUE angibt zurückgibt, dass der Benutzer die Schaltfläche OK geklickt hat die , auf den das LpLogFont Mitglied der CHOOSEFONT Struktur LOGFONT -Struktur enthält Informationen, die Schriftart und Font-Attribute, die vom Benutzer ausgewählten beschreibt. Das RgbColors -Element enthält die Farbe des ausgewählten Textes. Der Beispielcode verwendet diese Informationen zum Festlegen der Schriftart und Farbe für den Gerätekontext zugeordnet Besitzerfensters.
HWND Hwnd; / / Besitzerfenster
HDC Hdc; / / display Gerätekontext des Besitzerfensters
CHOOSEFONT Cf; / / gemeinsame Dialogfeld Struktur
statische LOGFONT lf; / / logische Schriftartstruktur
statische DWORD RgbCurrent; / / aktuelle Textfarbe
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.Flaggen = CF_SCREENFONTS | CF_EFFECTS;
Wenn (ChooseFont(&cf) == TRUE) {}
hFont = CreateFontIndirect(cf.lpLogFont);
HfontPrev = SelectObject (Hdc, Hfont);
RgbCurrent = cf.rgbColors;
RgbPrev = SetTextColor (Hdc, RgbCurrent);
.
.
.
}