Výber písma

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);
 .
 .
 .
} 

Index