Sdílet prostřednictvím


CFontDialog – třída

Umožňuje začlenit do aplikace dialogové okno pro výběr písma.

Syntaxe

class CFontDialog : public CCommonDialog

Členové

Veřejné konstruktory

Jméno popis
CFontDialog::CFontDialog CFontDialog Vytvoří objekt.

Veřejné metody

Jméno popis
CFontDialog::D oModal Zobrazí dialogové okno a umožní uživateli provést výběr.
CFontDialog::GetCharFormat Načte formátování znaků vybraného písma.
CFontDialog::GetColor Vrátí barvu vybraného písma.
CFontDialog::GetCurrentFont Přiřadí vlastnosti aktuálně vybraného písma ke struktuře LOGFONT .
CFontDialog::GetFaceName Vrátí název tváře vybraného písma.
CFontDialog::GetSize Vrátí velikost bodu vybraného písma.
CFontDialog::GetStyleName Vrátí název stylu vybraného písma.
CFontDialog::GetWeight Vrátí váhu vybraného písma.
CFontDialog::IsBold Určuje, zda je písmo tučné.
CFontDialog::IsItalic Určuje, zda je písmo kurzívou.
CFontDialog::IsStrikeOut Určuje, zda je písmo zobrazeno pomocí přeškrtnutí.
CFontDialog::IsUnderline Určuje, zda je písmo podtržené.

Veřejné datové členy

Jméno popis
CFontDialog::m_cf Struktura použitá k přizpůsobení objektu CFontDialog .

Poznámky

Objekt CFontDialog je dialogové okno se seznamem písem, která jsou aktuálně nainstalována v systému. Uživatel může ze seznamu vybrat konkrétní písmo a tento výběr se pak ohlásí zpět do aplikace.

K vytvoření objektu CFontDialog použijte zadaný konstruktor nebo odvodit novou podtřídu a použijte vlastní konstruktor.

CFontDialog Po vytvoření objektu můžete pomocí m_cf struktury inicializovat hodnoty nebo stavy ovládacích prvků v dialogovém okně. Struktura m_cf je typu CHOOSEFONT. Další informace o této struktuře najdete v sadě Windows SDK.

Po inicializaci ovládacíchprvkůch DoModal DoModal vrátí, zda uživatel vybral tlačítko OK (IDOK) nebo Zrušit (IDCANCEL).

Pokud DoModal vrátí idOK, můžete k načtení informací zadaných uživatelem použít některou z CFontDialogčlenských funkcí.

Pomocí funkce CommDlgExtendedError systému Windows můžete určit, jestli během inicializace dialogového okna došlo k chybě, a získat další informace o chybě. Další informace o této funkci najdete v sadě Windows SDK.

CFontDialog spoléhá na soubor COMMDLG.DLL, který je dodáván s Windows verze 3.1 a novější.

Chcete-li přizpůsobit dialogové okno, odvodit třídu z CFontDialog, poskytnout vlastní dialogové okno šablony a přidat mapu zpráv pro zpracování oznámení zprávy z rozšířených ovládacích prvků. Všechny nezpracované zprávy by měly být předány do základní třídy.

Přizpůsobení funkce háku se nevyžaduje.

Další informace o použití CFontDialognaleznete v tématu Běžné třídy dialogových oken.

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

Cwnd

Cdialog

CCommonDialog

CFontDialog

Požadavky

Hlavička: afxdlgs.h

CFontDialog::CFontDialog

CFontDialog Vytvoří objekt.

CFontDialog(
    LPLOGFONT lplfInitial = NULL,
    DWORD dwFlags = CF_EFFECTS | CF_SCREENFONTS,
    CDC* pdcPrinter = NULL,
    CWnd* pParentWnd = NULL);

CFontDialog(
    const CHARFORMAT& charformat,
    DWORD dwFlags = CF_SCREENFONTS,
    CDC* pdcPrinter = NULL,
    CWnd* pParentWnd = NULL);

Parametry

plfInitial
Ukazatel na datovou strukturu LOGFONT , která umožňuje nastavit některé vlastnosti písma.

charFormat
Ukazatel na datovou strukturu CHARFORMAT , která umožňuje nastavit některé vlastnosti písma v ovládacím prvku pro úpravy s formátováním.

dwFlags
Určuje jeden nebo více příznaků pro výběr písma. Jednu nebo více přednastavených hodnot lze kombinovat pomocí bitového operátoru OR. Pokud upravíte m_cf.Flagčlen struktury, nezapomeňte ve změnách použít bitový operátor OR, abyste zachovali výchozí chování beze změny. Podrobnosti o každém z těchto příznaků najdete v popisu struktury CHOOSEFONT v sadě Windows SDK.

pdcPrinter
Ukazatel na kontext zařízení tiskárny. Pokud je zadán, tento parametr odkazuje na kontext zařízení tiskárny pro tiskárnu, na které mají být vybrána písma.

pParentWnd
Ukazatel na okno nadřazeného nebo vlastníka dialogového okna písma

Poznámky

Všimněte si, že konstruktor automaticky vyplní členy CHOOSEFONT struktury. Tyto hodnoty byste měli změnit jenom v případě, že chcete, aby se dialogové okno písem lišit od výchozího.

Poznámka

První verze této funkce existuje pouze v případě, že neexistuje podpora ovládacích prvků pro úpravy s formátem.

Příklad

// Show the font dialog with all the default settings.
CFontDialog dlg;
dlg.DoModal();

// Show the font dialog with 12 point "Times New Roman" as the
// selected font.
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT));

CClientDC dc(this); // expects a CWnd that has already been initialized
lf.lfHeight = -MulDiv(12, dc.GetDeviceCaps(LOGPIXELSY), 72);
_tcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Times New Roman"));

CFontDialog fdlg(&lf);
fdlg.DoModal();

CFontDialog::D oModal

Voláním této funkce zobrazíte dialogové okno Běžné písmo systému Windows a umožníte uživateli zvolit písmo.

virtual INT_PTR DoModal();

Vrácená hodnota

IDOK nebo IDCANCEL. Pokud je vrácena funkce IDCANCEL, zavolejte funkci CommDlgExtendedError systému Windows, abyste zjistili, zda došlo k chybě.

IDOK a IDCANCEL jsou konstanty, které označují, zda uživatel vybral tlačítko OK nebo Zrušit.

Poznámky

Pokud chcete inicializovat různé ovládací prvky dialogového okna písma nastavením členů struktury m_cf , měli byste to udělat před voláním DoModal, ale po vytvoření objektu dialogového okna.

Pokud DoModal vrátí idOK, můžete volat další členské funkce, které načtou nastavení nebo informace zadané uživatelem do dialogového okna.

Příklad

Podívejte se na příklady pro CFontDialog::CFontDialog a CFontDialog::GetColor.

CFontDialog::GetCharFormat

Načte formátování znaků vybraného písma.

void GetCharFormat(CHARFORMAT& cf) const;

Parametry

Viz
Struktura CHARFORMAT obsahující informace o formátování znaků vybraného písma.

CFontDialog::GetColor

Voláním této funkce načtěte vybranou barvu písma.

COLORREF GetColor() const;

Vrácená hodnota

Barva vybraného písma

Příklad

// Get the color of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   COLORREF color = dlg.GetColor();
   TRACE(_T("Color of the selected font = %8x\n"), color);
}

CFontDialog::GetCurrentFont

Voláním této funkce přiřaďte vlastnosti aktuálně vybraného písma členům struktury LOGFONT .

void GetCurrentFont(LPLOGFONT lplf);

Parametry

lplf
Ukazatel na LOGFONT strukturu.

Poznámky

Další CFontDialog členské funkce jsou poskytovány pro přístup k jednotlivým charakteristikám aktuálního písma.

Pokud je tato funkce volána během volání doModal, vrátí aktuální výběr v době (co uživatel uvidí nebo změnil v dialogovém okně). Pokud je tato funkce volána po volání DoModal (pouze pokud DoModal vrátí idOK), vrátí to, co uživatel skutečně vybral.

Příklad

// Get the characteristics of the currently selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   LOGFONT lf;
   dlg.GetCurrentFont(&lf);
   TRACE(_T("Face name of the selected font = %s\n"), lf.lfFaceName);
}

CFontDialog::GetFaceName

Voláním této funkce načtěte název tváře vybraného písma.

CString GetFaceName() const;

Vrácená hodnota

Název tváře písma vybraného CFontDialog v dialogovém okně

Příklad

// Get the face name of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   CString facename = dlg.GetFaceName();
   TRACE(_T("Face name of the selected font = %s\n"), facename);
}

CFontDialog::GetSize

Voláním této funkce načtěte velikost vybraného písma.

int GetSize() const;

Vrácená hodnota

Velikost písma v desátých bodech.

Příklad

// Get the size of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   int size = dlg.GetSize();
   TRACE(_T("The size of the selected font = %d\n"), size);
}

CFontDialog::GetStyleName

Voláním této funkce načtěte název stylu vybraného písma.

CString GetStyleName() const;

Vrácená hodnota

Název stylu písma.

Příklad

// Get the style name of the selected font, if any.
CFontDialog dlg;
dlg.m_cf.Flags |= CF_USESTYLE;
if (dlg.DoModal() == IDOK)
{
   CString stylename = dlg.GetStyleName();
   TRACE(_T("Style name of the selected font = %s\n"), stylename);
}

CFontDialog::GetWeight

Voláním této funkce načtěte váhu vybraného písma.

int GetWeight() const;

Vrácená hodnota

Váha vybraného písma.

Poznámky

Další informace o hmotnosti písma naleznete v tématu CFont::CreateFont.

Příklad

// Get the weight of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   int weight = dlg.GetWeight();
   TRACE(_T("Weight of the selected font = %d\n"), weight);
}

CFontDialog::IsBold

Voláním této funkce určíte, jestli je vybrané písmo tučné.

BOOL IsBold() const;

Vrácená hodnota

Nenulové, pokud má vybrané písmo povolenou charakteristiku Tučné; jinak 0.

Příklad

// Is the selected font bold?
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   BOOL bold = dlg.IsBold();
   TRACE(_T("Is the selected font bold? %d\n"), bold);
}

CFontDialog::IsItalic

Voláním této funkce určíte, jestli je vybrané písmo kurzíva.

BOOL IsItalic() const;

Vrácená hodnota

Nenulové, pokud má vybrané písmo povolenou kurzívu; jinak 0.

Příklad

// Is the selected font italic?
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   BOOL italic = dlg.IsItalic();
   TRACE(_T("Is the selected font italic? %d\n"), italic);
}

CFontDialog::IsStrikeOut

Voláním této funkce určíte, jestli je vybrané písmo zobrazeno pomocí přeškrtnutí.

BOOL IsStrikeOut() const;

Vrácená hodnota

Nenulové, pokud má vybrané písmo povolenou charakteristické přeškrtnutí; jinak 0.

Příklad

// Is the selected font displayed with strikeout?

CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   BOOL strikeout = dlg.IsStrikeOut();
   TRACE(_T("Is the selected font strikeout? %d\n"), strikeout);
}

CFontDialog::IsUnderline

Voláním této funkce určíte, jestli je vybrané písmo podtržené.

BOOL IsUnderline() const;

Vrácená hodnota

Nenulové, pokud má vybrané písmo povolenou vlastnost Podtržení; jinak 0.

Příklad

// Is the selected font underlined?
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   BOOL underline = dlg.IsUnderline();
   TRACE(_T("Is the selected font underlined? %d\n"), underline);
}

CFontDialog::m_cf

Struktura, jejíž členové ukládají charakteristiky objektu dialogového okna.

CHOOSEFONT m_cf;

Poznámky

Po vytvoření objektu CFontDialog můžete před voláním DoModal členské funkce upravit m_cf různé aspekty dialogového okna. Další informace o této struktuře naleznete v tématu CHOOSEFONT v sadě Windows SDK.

Příklad

// The code fragment creates a font based on the information
// we got from CFontDialog::m_cf variable.

CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   // Create the font using the selected font from CFontDialog.
   LOGFONT lf;
   memcpy(&lf, dlg.m_cf.lpLogFont, sizeof(LOGFONT));

   CFont font;
   VERIFY(font.CreateFontIndirect(&lf));

   // Do something with the font just created...
   CClientDC dc(this);
   CFont *def_font = dc.SelectObject(&font);
   dc.TextOut(5, 5, _T("Hello"), 5);
   dc.SelectObject(def_font);

   // Done with the font. Delete the font object.
   font.DeleteObject();
}

Viz také

MFC – Ukázka HIERSVR
CCommonDialog – třída
Graf hierarchie