Táto téma popisuje vzorového kódu, ktorý zobrazuje dialógové okno Písmo , takže používateľ môže vybrať atribúty písma. Vzorového kódu najprv inicializuje CHOOSEFONT štruktúra a potom zavolá funkciu ChooseFont na zobrazenie dialógového okna.
V tomto príklade nastaví príznak CF_SCREENFONTS upresniť, že dialógovom okne by mali zobrazovať iba rastrové písma. Nastaví príznak CF_EFFECTS Zobraziť ovládacie prvky, ktoré umožňujú používateľovi vyberte prečiarknuté, podčiarknutie a farebnosť.
Ak ChooseFont Vracia TRUE, uvádzajúce, že používateľ klikol na tlačidlo OK , LOGFONT štruktúra poukázal členskými lpLogFont CHOOSEFONT štruktúra obsahuje informácie popisujúce písmo a atribúty písma používateľ vybral. RgbColors člen obsahuje farbu vybratého textu. Vzorového kódu používa tieto informácie pri nastavovaní písmo a farbu textu pre zariadenie kontext spojené s oknom vlastník.
HWND hwnd; / / vlastník okno
HDC hdc; / / Zobraziť zariadenie kontexte vlastník okno
CHOOSEFONT cf; / / spoločné dialógové okno štruktúra
statické LOGFONT lf; / / logické štruktúrou písma
statické DWORD rgbCurrent; / / aktuálny farbu textu
HFONT hfont, hfontPrev;
DWORD rgbPrev;
/ / Inicializovať CHOOSEFONT
ZeroMemory (amp; cf, sizeof(CHOOSEFONT));
CF.lStructSize = sizeof (CHOOSEFONT);
CF.hwndOwner = hwnd;
CF.lpLogFont = & lf;
CF.rgbColors = rgbCurrent;
CF.Vlajkami = CF_SCREENFONTS | CF_EFFECTS;
Ak (ChooseFont(&cf) == TRUE) {
hfont = CreateFontIndirect(cf.lpLogFont);
hfontPrev = VybraťObjekt (hdc, hfont);
rgbCurrent = cf.rgbColors;
rgbPrev = SetTextColor (hdc, rgbCurrent);
.
.
.
}