CFontDialog-Klasse

Ermöglicht es Ihnen, ein Dialogfeld für die Schriftartauswahl in Ihre Anwendung zu integrieren.

Syntax

class CFontDialog : public CCommonDialog

Member

Öffentliche Konstruktoren

Name Beschreibung
CFontDialog::CFontDialog Erstellt ein CFontDialog-Objekt.

Öffentliche Methoden

Name Beschreibung
CFontDialog::D oModal Zeigt das Dialogfeld an und ermöglicht es dem Benutzer, eine Auswahl vorzunehmen.
CFontDialog::GetCharFormat Ruft die Zeichenformatierung der ausgewählten Schriftart ab.
CFontDialog::GetColor Gibt die Farbe der ausgewählten Schriftart zurück.
CFontDialog::GetCurrentFont Weist die Merkmale der aktuell ausgewählten Schriftart einer LOGFONT Struktur zu.
CFontDialog::GetFaceName Gibt den Gesichtsnamen der ausgewählten Schriftart zurück.
CFontDialog::GetSize Gibt die Punktgröße der ausgewählten Schriftart zurück.
CFontDialog::GetStyleName Gibt den Formatvorlagennamen der ausgewählten Schriftart zurück.
CFontDialog::GetWeight Gibt die Stärke der ausgewählten Schriftart zurück.
CFontDialog::IsBold Bestimmt, ob die Schriftart fett formatiert ist.
CFontDialog::IsItalic Bestimmt, ob die Schriftart kursiv formatiert ist.
CFontDialog::IsStrikeOut Bestimmt, ob die Schriftart durchgestrichen angezeigt wird.
CFontDialog::IsUnderline Bestimmt, ob die Schriftart unterstrichen ist.

Öffentliche Datenmember

Name Beschreibung
CFontDialog::m_cf Eine Struktur, die zum Anpassen eines CFontDialog Objekts verwendet wird.

Hinweise

Ein CFontDialog Objekt ist ein Dialogfeld mit einer Liste von Schriftarten, die derzeit im System installiert sind. Der Benutzer kann eine bestimmte Schriftart aus der Liste auswählen, und diese Auswahl wird dann wieder an die Anwendung gemeldet.

Verwenden Sie zum Erstellen eines CFontDialog Objekts den bereitgestellten Konstruktor, oder leiten Sie eine neue Unterklasse ab, und verwenden Sie ihren eigenen benutzerdefinierten Konstruktor.

Nachdem ein CFontDialog Objekt erstellt wurde, können Sie die m_cf Struktur verwenden, um die Werte oder Zustände von Steuerelementen im Dialogfeld zu initialisieren. Die m_cf Struktur ist vom Typ CHOOSEFONT. Weitere Informationen zu dieser Struktur finden Sie im Windows SDK.

Rufen Sie nach dem Initialisieren der Steuerelemente des Dialogfeldobjekts die DoModal Memberfunktion auf, um das Dialogfeld anzuzeigen und dem Benutzer die Auswahl einer Schriftart zu ermöglichen. DoModal gibt zurück, ob der Benutzer die Schaltfläche OK (IDOK) oder Cancel (IDCANCEL) ausgewählt hat.

Wenn DoModal IDOK zurückgegeben wird, können Sie eine der CFontDialogMemberfunktionen verwenden, um die Vom Benutzer eingegebenen Informationen abzurufen.

Sie können die Windows CommDlgExtendedError-Funktion verwenden, um zu ermitteln, ob während der Initialisierung des Dialogfelds ein Fehler aufgetreten ist, und um mehr über den Fehler zu erfahren. Weitere Informationen zu dieser Funktion finden Sie im Windows SDK.

CFontDialog basiert auf der DATEI COMMDLG.DLL, die im Lieferumfang von Windows-Versionen 3.1 und höher enthalten ist.

Zum Anpassen des Dialogfelds leiten Sie eine Klasse ab CFontDialog, stellen eine benutzerdefinierte Dialogfeldvorlage bereit und fügen eine Meldungszuordnung hinzu, um die Benachrichtigungen aus den erweiterten Steuerelementen zu verarbeiten. Alle unverarbeiteten Nachrichten sollten an die Basisklasse übergeben werden.

Das Anpassen der Hook-Funktion ist nicht erforderlich.

Weitere Informationen zur Verwendung CFontDialogfinden Sie unter "Allgemeine Dialogklassen".

Vererbungshierarchie

CObject

CCmdTarget

CWnd

Cdialog

CCommonDialog

CFontDialog

Anforderungen

Header: afxdlgs.h

CFontDialog::CFontDialog

Erstellt ein CFontDialog-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);

Parameter

plfInitial
Ein Zeiger auf eine LOGFONT-Datenstruktur , mit der Sie einige merkmale der Schriftart festlegen können.

charFormat
Ein Zeiger auf eine CHARFORMAT-Datenstruktur , mit der Sie einige eigenschaften der Schriftart in einem Rich-Edit-Steuerelement festlegen können.

dwFlags
Bestimmt eine oder mehrere Schriftart-wählen-Flags. Ein oder mehrere Vorgabewerte können mit dem bitweisen OR-Operator kombiniert werden. Wenn Sie den m_cf.Flags-Strukturmember ändern, stellen Sie sicher, dass Sie einen bitweisen OR-Operator bei Ihren Änderungen verwenden, um das Standardverhalten unverändert zu lassen. Ausführliche Informationen zu den einzelnen Kennzeichen finden Sie in der Beschreibung der CHOOSEFONT-Struktur im Windows SDK.

pdcPrinter
Ein Zeiger auf einen Druckgerätekontext. Sofern bereitgestellt, verweist dieser Parameter auf einen Druckgerätekontext für den Drucker, auf dem die Schriftarten ausgewählt werden sollen.

pParentWnd
Ein Zeiger auf das übergeordnete Fenster oder das Besitzerfenster des Schriftartdialogfelds.

Hinweise

Beachten Sie, dass der Konstruktor automatisch die Member der CHOOSEFONT-Struktur ausfüllt. Sie sollten diese nur ändern, wenn Sie ein anderes Schriftartdialogfeld als das standardmäßige verwenden möchten.

Hinweis

Die erste Version dieser Funktion existiert nur, wenn es keine Unterstützung für das Rich-Edit-Steuerelement gibt.

Beispiel

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

Rufen Sie diese Funktion auf, um das Dialogfeld für allgemeine Schriftarten von Windows anzuzeigen und dem Benutzer die Auswahl einer Schriftart zu ermöglichen.

virtual INT_PTR DoModal();

Rückgabewert

IDOK oder IDCANCEL. Wenn IDCANCEL zurückgegeben wird, rufen Sie die Windows CommDlgExtendedError-Funktion auf, um zu ermitteln, ob ein Fehler aufgetreten ist.

IDOK und IDCANCEL sind Konstanten, die angeben, ob der Benutzer die Schaltfläche "OK" oder "Abbrechen" ausgewählt hat.

Hinweise

Wenn Sie die verschiedenen Schriftartdialogsteuerelemente initialisieren möchten, indem Sie Elemente der m_cf Struktur festlegen, sollten Sie dies vor dem Aufrufen DoModalausführen, aber nach dem Erstellen des Dialogobjekts.

Wenn DoModal IDOK zurückgegeben wird, können Sie andere Memberfunktionen aufrufen, um die Einstellungen oder Informationen vom Benutzer in das Dialogfeld abzurufen.

Beispiel

Sehen Sie sich die Beispiele für CFontDialog::CFontDialog und CFontDialog::GetColor an.

CFontDialog::GetCharFormat

Ruft die Zeichenformatierung der ausgewählten Schriftart ab.

void GetCharFormat(CHARFORMAT& cf) const;

Parameter

Cf
Eine CHARFORMAT-Struktur , die Informationen zur Zeichenformatierung der ausgewählten Schriftart enthält.

CFontDialog::GetColor

Rufen Sie diese Funktion auf, um die ausgewählte Schriftfarbe abzurufen.

COLORREF GetColor() const;

Rückgabewert

Die Farbe der ausgewählten Schriftart.

Beispiel

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

Rufen Sie diese Funktion auf, um den Elementen einer LOGFONT-Struktur die Merkmale der aktuell ausgewählten Schriftart zuzuweisen.

void GetCurrentFont(LPLOGFONT lplf);

Parameter

lplf
Ein Zeiger auf eine LOGFONT Struktur.

Hinweise

Andere CFontDialog Memberfunktionen werden bereitgestellt, um auf einzelne Merkmale der aktuellen Schriftart zuzugreifen.

Wenn diese Funktion während eines Aufrufs von DoModal aufgerufen wird, wird die aktuelle Auswahl zum Zeitpunkt zurückgegeben (was der Benutzer im Dialogfeld sieht oder geändert hat). Wenn diese Funktion nach einem Aufruf DoModal aufgerufen wird (nur wenn DoModal IDOK zurückgegeben wird), gibt sie zurück, was der Benutzer tatsächlich ausgewählt hat.

Beispiel

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

Rufen Sie diese Funktion auf, um den Gesichtsnamen der ausgewählten Schriftart abzurufen.

CString GetFaceName() const;

Rückgabewert

Der Gesichtsname der im CFontDialog Dialogfeld ausgewählten Schriftart.

Beispiel

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

Rufen Sie diese Funktion auf, um den Schriftgrad der ausgewählten Schriftart abzurufen.

int GetSize() const;

Rückgabewert

Der Schriftgrad in Zehnteln eines Punkts.

Beispiel

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

Rufen Sie diese Funktion auf, um den Formatvorlagennamen der ausgewählten Schriftart abzurufen.

CString GetStyleName() const;

Rückgabewert

Der Name der Formatvorlage der Schriftart.

Beispiel

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

Rufen Sie diese Funktion auf, um die Gewichtung der ausgewählten Schriftart abzurufen.

int GetWeight() const;

Rückgabewert

Die Stärke der ausgewählten Schriftart.

Hinweise

Weitere Informationen zur Gewichtung einer Schriftart finden Sie unter "CFont::CreateFont".

Beispiel

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

Rufen Sie diese Funktion auf, um zu ermitteln, ob die ausgewählte Schriftart fett formatiert ist.

BOOL IsBold() const;

Rückgabewert

Nonzero, wenn die ausgewählte Schriftart die Fett-Eigenschaft aktiviert hat; andernfalls 0.

Beispiel

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

Rufen Sie diese Funktion auf, um festzustellen, ob die ausgewählte Schriftart kursiv ist.

BOOL IsItalic() const;

Rückgabewert

Nonzero, wenn die ausgewählte Schriftart das Kursivmerkmal aktiviert hat; andernfalls 0.

Beispiel

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

Rufen Sie diese Funktion auf, um zu ermitteln, ob die ausgewählte Schriftart durchgestrichen angezeigt wird.

BOOL IsStrikeOut() const;

Rückgabewert

Nonzero, wenn die ausgewählte Schriftart das Durchgestrichen-Merkmal aktiviert hat; andernfalls 0.

Beispiel

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

Rufen Sie diese Funktion auf, um zu ermitteln, ob die ausgewählte Schriftart unterstrichen ist.

BOOL IsUnderline() const;

Rückgabewert

Nonzero, wenn die ausgewählte Schriftart die Unterstreichungseigenschaft aktiviert hat; andernfalls 0.

Beispiel

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

Eine Struktur, deren Member die Merkmale des Dialogobjekts speichern.

CHOOSEFONT m_cf;

Hinweise

Nach dem Erstellen eines CFontDialog Objekts können m_cf Sie verschiedene Aspekte des Dialogfelds ändern, bevor Sie die DoModal Memberfunktion aufrufen. Weitere Informationen zu dieser Struktur finden Sie unter CHOOSEFONT im Windows SDK.

Beispiel

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

Siehe auch

MFC-Beispiel HIERSVR
CCommonDialog-Klasse
Hierarchiediagramm