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 CFontDialog
Memberfunktionen 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 COMMDLG.DLL Datei, die mit Windows-Versionen 3.1 und höher ausgeliefert wird.
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 CFontDialog
finden Sie unter "Allgemeine Dialogklassen".
Vererbungshierarchie
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.Flag
s-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 DoModal
ausfü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
vgl
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