Megosztás a következőn keresztül:


CFontDialog osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Lehetővé teszi, hogy egy betűtípus-kijelölési párbeszédpanelt beépítsen az alkalmazásba.

Szemantika

class CFontDialog : public CCommonDialog

Tagok

Nyilvános konstruktorok

Név Description
CFontDialog::CFontDialog Egy CFontDialog objektumot hoz létre.

Nyilvános metódusok

Név Description
CFontDialog::D oModal Megjeleníti a párbeszédpanelt, és lehetővé teszi a felhasználó számára a kijelölést.
CFontDialog::GetCharFormat Lekéri a kijelölt betűtípus karakterformázását.
CFontDialog::GetColor A kijelölt betűtípus színét adja vissza.
CFontDialog::GetCurrentFont Hozzárendeli a jelenleg kijelölt betűtípus jellemzőit egy LOGFONT struktúrához.
CFontDialog::GetFaceName A kijelölt betűtípus arcnevét adja vissza.
CFontDialog::GetSize A kijelölt betűtípus pontméretét adja vissza.
CFontDialog::GetStyleName A kijelölt betűtípus stílusnevét adja vissza.
CFontDialog::GetWeight A kijelölt betűtípus súlyát adja vissza.
CFontDialog::IsBold Meghatározza, hogy a betűtípus félkövér-e.
CFontDialog::IsItalic Meghatározza, hogy a betűtípus dőlt-e.
CFontDialog::IsStrikeOut Meghatározza, hogy a betűtípus megjelenik-e az áthúzással.
CFontDialog::IsUnderline Meghatározza, hogy a betűtípus alá van-e húzva.

Nyilvános adatok tagjai

Név Description
CFontDialog::m_cf Objektum testreszabására CFontDialog használt struktúra.

Megjegyzések

Az CFontDialog objektum egy párbeszédpanel, amelyen a rendszerben jelenleg telepített betűtípusok listája látható. A felhasználó kiválaszthat egy adott betűtípust a listából, és ezt a kijelölést a rendszer visszajelenti az alkalmazásnak.

Objektum létrehozásához CFontDialog használja a megadott konstruktort, vagy hozzon létre egy új alosztályt, és használja a saját egyéni konstruktorát.

Miután létrehozott egy CFontDialog objektumot, a m_cf szerkezettel inicializálhatja a párbeszédpanel vezérlőinek értékeit vagy állapotát. A m_cf struktúra CHOOSEFONT típusú. A struktúrával kapcsolatos további információkért lásd a Windows SDK-t.

A párbeszédpanel-objektum vezérlőinek inicializálása után hívja meg a DoModal tagfüggvényt a párbeszédpanel megjelenítéséhez, és engedélyezze a felhasználónak a betűtípus kiválasztását. DoModal visszaadja, hogy a felhasználó az OK (IDOK) vagy a Mégse (IDCANCEL) gombot választotta-e.

Ha DoModal IDOK-t ad vissza, az egyik CFontDialogtagfüggvény használatával lekérheti a felhasználó által bevitt adatokat.

A Windows CommDlgExtendedError függvénnyel megállapíthatja, hogy hiba történt-e a párbeszédpanel inicializálása során, és további információt kaphat a hibáról. A függvényről további információt a Windows SDK-n talál.

CFontDialog a Windows 3.1 és újabb verzióit tartalmazó COMMDLG.DLL fájlra támaszkodik.

A párbeszédpanel testreszabásához származtatjon egy osztályt CFontDialog, adjon meg egy egyéni párbeszédpanelsablont, és adjon hozzá egy üzenettérképet az értesítési üzenetek feldolgozásához a kiterjesztett vezérlőkből. A feldolgozatlan üzeneteket át kell adni az alaposztálynak.

A horogfüggvény testreszabása nem szükséges.

A használatról CFontDialogtovábbi információt a Gyakori párbeszédpanel-osztályok című témakörben talál.

Öröklési hierarchia

CObject

CCmdTarget

CWnd

CDialog

CCommonDialog

CFontDialog

Requirements

Fejléc: afxdlgs.h

CFontDialog::CFontDialog

Egy CFontDialog objektumot hoz létre.

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

Paraméterek

plfInitial
Egy LOGFONT-adatszerkezetre mutató mutató, amely lehetővé teszi a betűtípus egyes jellemzőinek beállítását.

charFormat
Egy CHARFORMAT-adatszerkezetre mutató mutató, amely lehetővé teszi a betűtípus egyes jellemzőinek beállítását egy gazdag szerkesztési vezérlőben.

dwFlags
Egy vagy több választóbetűjelet ad meg. Egy vagy több előre beállított érték kombinálható a bitenkénti VAGY operátorral. Ha módosítja az m_cf.Flags struktúratagot, mindenképpen használjon bitenkénti VAGY operátort a módosításokban, hogy az alapértelmezett viselkedés érintetlen maradjon. Az egyes jelzőkkel kapcsolatos részletekért tekintse meg a WINDOWS SDK CHOOSEFONT szerkezetének leírását.

pdcPrinter
Mutató egy nyomtató-eszköz környezethez. Ha meg van adva, ez a paraméter annak a nyomtatónak a nyomtató-eszköz környezetére mutat, amelyen a betűtípusokat ki kell jelölni.

pParentWnd
Mutató a betűtípus párbeszédpanel szülő- vagy tulajdonosablakára.

Megjegyzések

Vegye figyelembe, hogy a konstruktor automatikusan kitölti a szerkezet tagjait CHOOSEFONT . Ezeket csak akkor módosítsa, ha az alapértelmezettnél eltérő betűtípus-párbeszédpanelt szeretne használni.

Megjegyzés:

A függvény első verziója csak akkor létezik, ha nincs gazdag szerkesztési vezérlő támogatása.

Example

// 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

Hívja meg ezt a függvényt a Windows általános betűtípus párbeszédpaneljének megjelenítéséhez, és engedélyezze a felhasználónak a betűtípus kiválasztását.

virtual INT_PTR DoModal();

Visszaadott érték

IDOK vagy IDCANCEL. Az IDCANCEL visszaadásakor hívja meg a Windows CommDlgExtendedError függvényt annak megállapításához, hogy történt-e hiba.

Az IDOK és az IDCANCEL állandók, amelyek jelzik, hogy a felhasználó az OK vagy a Mégse gombot választotta-e.

Megjegyzések

Ha a m_cf szerkezet tagjainak beállításával szeretné inicializálni a különböző betűtípus-párbeszédpanel-vezérlőket, ezt a hívás DoModalelőtt, de a párbeszédpanel-objektum létrehozása után kell elvégeznie.

Ha DoModal idokot ad vissza, meghívhat más tagfüggvényeket, hogy beolvassa a felhasználó által megadott beállításokat vagy információkat a párbeszédpanelre.

Example

Tekintse meg a CFontDialog::CFontDialog és CFontDialog::GetColor példákat.

CFontDialog::GetCharFormat

Lekéri a kijelölt betűtípus karakterformázását.

void GetCharFormat(CHARFORMAT& cf) const;

Paraméterek

Cf
CHARFORMAT-struktúra, amely a kijelölt betűtípus karakterformázásával kapcsolatos információkat tartalmazza.

CFontDialog::GetColor

Hívja meg ezt a függvényt a kijelölt betűszín lekéréséhez.

COLORREF GetColor() const;

Visszaadott érték

A kijelölt betűtípus színe.

Example

// 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

Ennek a függvénynek a meghívásával rendelje hozzá az aktuálisan kiválasztott betűtípus jellemzőit egy LOGFONT-struktúra tagjaihoz.

void GetCurrentFont(LPLOGFONT lplf);

Paraméterek

lplf
Egy struktúra mutatója LOGFONT .

Megjegyzések

Más CFontDialog tagfüggvények is elérhetők az aktuális betűtípus egyedi jellemzőinek eléréséhez.

Ha ezt a függvényt a Rendszer meghívja a DoModal hívása során, akkor az aktuális kijelölést adja vissza (amit a felhasználó lát vagy módosított a párbeszédpanelen). Ha ezt a függvényt a rendszer meghívja egy hívás DoModal után (csak akkor, ha DoModal idokot ad vissza), akkor azt adja vissza, amit a felhasználó ténylegesen kiválasztott.

Example

// 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

Hívja meg ezt a függvényt a kijelölt betűtípus arcnevének lekéréséhez.

CString GetFaceName() const;

Visszaadott érték

A párbeszédpanelen CFontDialog kijelölt betűtípus arcneve.

Example

// 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

Hívja meg ezt a függvényt a kijelölt betűtípus méretének lekéréséhez.

int GetSize() const;

Visszaadott érték

A betűtípus mérete egy pont tizedében.

Example

// 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

Hívja meg ezt a függvényt a kijelölt betűtípus stílusnevének lekéréséhez.

CString GetStyleName() const;

Visszaadott érték

A betűtípus stílusneve.

Example

// 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

Hívja meg ezt a függvényt a kijelölt betűtípus súlyának lekéréséhez.

int GetWeight() const;

Visszaadott érték

A kijelölt betűtípus súlya.

Megjegyzések

A betűtípusok súlyával kapcsolatos további információkért lásd: CFont::CreateFont.

Example

// 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

Hívja meg ezt a függvényt annak megállapításához, hogy a kijelölt betűtípus félkövér-e.

BOOL IsBold() const;

Visszaadott érték

Nonzero, ha a kijelölt betűtípusban engedélyezve van a félkövér karakter; egyéb esetben 0.

Example

// 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

Hívja meg ezt a függvényt annak megállapításához, hogy a kijelölt betűtípus dőlt-e.

BOOL IsItalic() const;

Visszaadott érték

Nonzero, ha a kijelölt betűtípus dőlt karaktert engedélyezve van; egyéb esetben 0.

Example

// 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

Hívja meg ezt a függvényt annak megállapításához, hogy a kijelölt betűtípus megjelenik-e az áthúzással.

BOOL IsStrikeOut() const;

Visszaadott érték

Nonzero, ha a kijelölt betűtípusban engedélyezve van a Strikeout tulajdonság; egyéb esetben 0.

Example

// 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

Hívja meg ezt a függvényt annak megállapításához, hogy a kijelölt betűtípus alá van-e húzva.

BOOL IsUnderline() const;

Visszaadott érték

Nem kötelező, ha a kijelölt betűtípus aláhúzási tulajdonsága engedélyezve van; egyéb esetben 0.

Example

// 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

Olyan struktúra, amelynek tagjai a párbeszédpanel-objektum jellemzőit tárolják.

CHOOSEFONT m_cf;

Megjegyzések

Az objektum m_cf létrehozása CFontDialog után a párbeszédpanel különböző aspektusait módosíthatja, mielőtt meghívja a tagfüggvénytDoModal. A struktúrával kapcsolatos további információkért lásd: CHOOSEFONT a Windows SDK-ban.

Example

// 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();
}

Lásd még

MFC-minta HIERSVR
CCommonDialog osztály
hierarchiadiagram