CMFCToolBarFontComboBox-Klasse
Eine Symbolleistenschaltfläche mit einem Kombinationsfeld-Steuerelement, mit dem der Benutzer eine Schriftart aus einer Liste von Systemschriftarten auswählen kann.
Syntax
class CMFCToolBarFontComboBox : public CMFCToolBarComboBoxButton
Member
Geschützte Konstruktoren
Name | Beschreibung |
---|---|
CMFCToolBarFontComboBox::CMFCToolBarFontComboBox | Erstellt ein CMFCToolBarFontComboBox -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CMFCToolBarFontComboBox::GetFontDesc | Gibt einen Zeiger auf das CMFCFontInfo Objekt für einen angegebenen Index im Kombinationsfeld zurück. |
CMFCToolBarFontComboBox::SetFont | Wählt eine Schriftart im Kombinationsfeld "Schriftart" entsprechend dem Namen der Schriftart oder dem Präfix- und Zeichensatz der Schriftart aus. |
Datenelemente
CMFCToolBarFontComboBox::m_nFontHeight
Die Höhe der Zeichen im Kombinationsfeld "Schriftart".
Hinweise
Führen Sie die folgenden Schritte aus, um eine Schaltfläche für ein Kombinationsfeld für Schriftarten zu einer Symbolleiste hinzuzufügen:
Reservieren Sie eine Platzhalterressourcen-ID für die Schaltfläche in der übergeordneten Symbolleistenressource.
Konstruieren Sie ein
CMFCToolBarFontComboBox
-Objekt.Ersetzen Sie im Nachrichtenhandler, der die AFX_WM_RESETTOOLBAR Nachricht verarbeitet, die ursprüngliche Schaltfläche durch die neue Kombinationsfeldschaltfläche mithilfe von CMFCToolBar::ReplaceButton.
Synchronisieren Sie die im Kombinationsfeld ausgewählte Schriftart mit der Schriftart im Dokument mithilfe der CMFCToolBarFontComboBox::SetFont-Methode .
Um die Schriftart des Dokuments mit der im Kombinationsfeld ausgewählten Schriftart zu synchronisieren, verwenden Sie die CMFCToolBarFontComboBox::GetFontDesc-Methode , um die Attribute der ausgewählten Schriftart abzurufen, und verwenden Sie diese Attribute, um ein CFont Class-Objekt zu erstellen.
Die Schaltfläche für das Kombinationsfeld "Schriftart" ruft die Win32-Funktion EnumFontFamiliesEx auf, um die für das System verfügbaren Bildschirm- und Druckerschriftarten zu bestimmen.
Vererbungshierarchie
Anforderungen
Header: afxtoolbarfontcombobox.h
CMFCToolBarFontComboBox::CMFCToolBarFontComboBox
Erstellt ein CMFCToolBarFontComboBox -Objekt.
public:
CMFCToolBarFontComboBox(
UINT uiID,
int iImage,
int nFontType = DEVICE_FONTTYPE | RASTER_FONTTYPE | TRUETYPE_FONTTYPE,
BYTE nCharSet = DEFAULT_CHARSET,
DWORD dwStyle = CBS_DROPDOWN,
int iWidth = 0,
BYTE nPitchAndFamily = DEFAULT_PITCH);
protected:
CMFCToolBarFontComboBox(
CObList* pLstFontsExternal,
int nFontType,
BYTE nCharSet,
BYTE nPitchAndFamily);
CMFCToolBarFontComboBox();
Parameter
uiID
[in] Die Befehls-ID des Kombinationsfelds.
iImage
[in] Der nullbasierte Index eines Symbolleistenbilds. Das Bild befindet sich im CMFCToolBarImages-Klassenobjekt , das von der CMFCToolBar-Klasse verwaltet wird.
nFontType
[in] Die Typen von Schriftarten, die das Kombinationsfeld enthält. Dieser Parameter kann eine Kombination (boolescher ODER) der folgenden Werte sein:
DEVICE_FONTTYPE
RASTER_FONTTYPE
TRUETYPE_FONTTYPE
nCharSet
[in] Bei Festlegung auf DEFAULT_CHARSET enthält das Kombinationsfeld alle eindeutig benannten Schriftarten in allen Zeichensätzen. (Wenn zwei Schriftarten mit demselben Namen vorhanden sind, enthält das Kombinationsfeld eines davon.) Wenn dieser Wert auf einen gültigen Zeichensatzwert festgelegt ist, enthält das Kombinationsfeld nur Schriftarten im angegebenen Zeichensatz. Eine Auflistung möglicher Zeichensätze finden Sie unter LOGFONT .
dwStyle
[in] Die Formatvorlage des Kombinationsfelds. (siehe Kombinationsfeld-Formatvorlagen)
iWidth
[in] Die Breite in Pixeln des Bearbeitungssteuerelements.
nPitchAndFamily
[in] Wenn dieser Wert auf DEFAULT_PITCH festgelegt ist, enthält das Kombinationsfeld Schriftarten unabhängig von der Neigung. Wenn dieser Wert auf FIXED_PITCH oder VARIABLE_PITCH festgelegt ist, enthält das Kombinationsfeld nur Schriftarten mit diesem Neigungstyp. Das Filtern basierend auf der Schriftartfamilie wird derzeit nicht unterstützt.
pLstFontsExternal
[out] Zeigen Sie auf ein CObList Class -Objekt, das die verfügbaren Schriftarten speichert.
Hinweise
CMFCToolBarFontComboBox
In der Regel speichern Objekte die Liste der verfügbaren Schriftarten in einem einzigen freigegebenen CObList
Objekt. Wenn Sie die zweite Überladung des Konstruktors verwenden und einen gültigen Zeiger auf pLstFontsExternal bereitstellen, füllt dieses CMFCToolBarFontComboBox
Objekt stattdessen das CObList
pLstFontsExternal mit verfügbaren Schriftarten.
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie ein CMFCToolBarFontComboBox
Objekt erstellt wird. Dieser Codeausschnitt ist Teil des WordPad-Beispiels.
CMFCToolBarFontComboBox *CFormatBar::CreateFontComboButton()
{
// CSize m_szBaseUnits
return new CMFCToolBarFontComboBox(IDC_FONTNAME,
GetCmdMgr()->GetCmdImage(IDC_FONTNAME, FALSE),
TRUETYPE_FONTTYPE | DEVICE_FONTTYPE,
DEFAULT_CHARSET,
WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWN |
CBS_AUTOHSCROLL | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED,
(3 * LF_FACESIZE * m_szBaseUnits.cx) / 2);
}
CMFCToolBarFontComboBox::GetFontDesc
Gibt einen Zeiger auf das CMFCFontInfo
Objekt für einen angegebenen Index im Kombinationsfeld zurück.
const CMFCFontInfo* GetFontDesc(int iIndex=-1) const;
Parameter
iIndex
[in] Gibt den nullbasierten Index eines Kombinationsfeldelements an.
Rückgabewert
Ein Zeiger auf ein CMFCFontInfo
-Objekt. Wenn iIndex keinen gültigen Elementindex angibt, ist der Rückgabewert NULL.
CMFCToolBarFontComboBox::m_nFontHeight
Gibt die Höhe von Zeichen im Kombinationsfeld "Schriftart" in Pixel an, wenn das Kombinationsfeld den Zeichenstil "Besitzer" aufweist.
static int m_nFontHeight
Hinweise
Wenn die m_nFontHeight
Variable 0 ist, wird die Höhe automatisch entsprechend der Standardschriftart des Kombinationsfelds berechnet. Die Höhe enthält sowohl den Aufstieg von Zeichen über dem Basisplan als auch den Abstieg von Zeichen unterhalb der Basislinie.
CMFCToolBarFontComboBox::SetFont
Wählt die Schriftart im Kombinationsfeld "Schriftart" entsprechend dem In den Parametern angegebenen Schriftartnamen und Zeichensatz aus.
BOOL SetFont(
LPCTSTR lpszName,
BYTE nCharSet=DEFAULT_CHARSET,
BOOL bExact=FALSE);
Parameter
lpszName
[in] Gibt den Schriftartnamen oder das Präfix an.
nCharSet
[in] Gibt den Zeichensatz an.
bExact
[in] Gibt an, ob lpszName den Schriftartnamen oder das Schriftartpräfix enthält.
Rückgabewert
Nonzero, wenn die Schriftart erfolgreich ausgewählt wurde; andernfalls 0.
Hinweise
Wenn bExact TRUE ist, wählt diese Methode eine Schriftart aus, die exakt mit dem Namen übereinstimmt, den Sie als lpszName angegeben haben. Wenn bExact FALSCH ist, wählt diese Methode eine Schriftart aus, die mit dem text beginnt, der als lpszName angegeben ist und den Zeichensatz verwendet, den Sie als nCharSet angegeben haben. Wenn nCharSet auf DEFAULT_CHARSET festgelegt ist, wird der Zeichensatz ignoriert, und nur lpszName wird verwendet, um eine Schriftart auszuwählen.
Siehe auch
Hierarchiediagramm
Klassen
CMFCToolBar-Klasse
CMFCToolBarButton-Klasse
CMFCToolBarComboBoxButton-Klasse
CMFCFontInfo-Klasse
CMFCToolBar::ReplaceButton
Exemplarische Vorgehensweise: Steuerelemente in eine Symbolleiste einfügen