CFontHolder-Klasse
Implementiert die vordefinierte Schriftarteigenschaft und kapselt die Funktionalität eines Windows-Schriftartobjekts und der IFont
-Schnittstelle.
Syntax
class CFontHolder
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CFontHolder::CFontHolder | Erstellt ein CFontHolder -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CFontHolder::GetDisplayString | Ruft die Zeichenfolge ab, die im Eigenschaftenbrowser eines Containers angezeigt wird. |
CFontHolder::GetFontDispatch | Gibt die Schnittstelle der Schriftart IDispatch zurück. |
CFontHolder::GetFontHandle | Gibt ein Handle zu einer Windows-Schriftart zurück. |
CFontHolder::InitializeFont | Initialisiert ein CFontHolder -Objekt. |
CFontHolder::QueryTextMetrics | Ruft Informationen für die zugehörige Schriftart ab. |
CFontHolder::ReleaseFont | Trennt das CFontHolder Objekt von den IFont Schnittstellen.IFontNotification |
CFontHolder::Select | Wählt eine Schriftartressource in einem Gerätekontext aus. |
CFontHolder::SetFont | Verbindet das CFontHolder Objekt mit einer IFont Schnittstelle. |
Öffentliche Datenmember
Name | Beschreibung |
---|---|
CFontHolder::m_pFont | Ein Zeiger auf die Schnittstelle des CFontHolder IFont Objekts. |
Hinweise
CFontHolder
besitzt keine Basisklasse.
Verwenden Sie diese Klasse, um benutzerdefinierte Schriftarteigenschaften für Ihr Steuerelement zu implementieren. Informationen zum Erstellen solcher Eigenschaften finden Sie im Artikel ActiveX-Steuerelemente: Verwenden von Schriftarten.
Vererbungshierarchie
CFontHolder
Anforderungen
Kopfzeile: afxctl.h
CFontHolder::CFontHolder
Erstellt ein CFontHolder
-Objekt.
explicit CFontHolder(LPPROPERTYNOTIFYSINK pNotify);
Parameter
pNotify
Zeigen Sie auf die Schnittstelle der Schriftart IPropertyNotifySink
.
Hinweise
Sie müssen aufrufen InitializeFont
, um das resultierende Objekt zu initialisieren, bevor Sie es verwenden.
CFontHolder::GetDisplayString
Ruft eine Zeichenfolge ab, die im Eigenschaftenbrowser eines Containers angezeigt werden kann.
BOOL GetDisplayString(CString& strValue);
Parameter
strValue
Verweis auf die CString , die die Anzeigezeichenfolge enthalten soll.
Rückgabewert
Nonzero, wenn die Zeichenfolge erfolgreich abgerufen wird; andernfalls 0.
CFontHolder::GetFontDispatch
Rufen Sie diese Funktion auf, um einen Zeiger auf die Dispatch-Schnittstelle der Schriftart abzurufen.
LPFONTDISP GetFontDispatch();
Rückgabewert
Ein Zeiger auf die Schnittstelle des CFontHolder
IFontDisp
Objekts. Beachten Sie, dass die Funktion, die aufruft GetFontDispatch
, diesen Schnittstellenzeiger aufrufen IUnknown::Release
muss, wenn sie damit fertig ist.
Hinweise
Rufen Sie InitializeFont
vor dem Anruf GetFontDispatch
an.
CFontHolder::GetFontHandle
Rufen Sie diese Funktion auf, um ein Handle für eine Windows-Schriftart abzurufen.
HFONT GetFontHandle();
HFONT GetFontHandle(
long cyLogical,
long cyHimetric);
Parameter
cyLogical
Höhe des Rechtecks, in dem das Steuerelement gezeichnet wird, in logischen Einheiten.
cyHimetric
Höhe des Steuerelements in MM_HIMETRIC Einheiten.
Rückgabewert
Ein Handle für das Font-Objekt; andernfalls NULL.
Hinweise
Das Verhältnis von cyLogical und cyHimetric wird verwendet, um die richtige Anzeigegröße in logischen Einheiten für die Punktgröße der Schriftart zu berechnen, die in MM_HIMETRIC Einheiten ausgedrückt wird:
Anzeigegröße = ( cyLogical / cyHimetric) X Schriftgrad
Die Version ohne Parameter gibt ein Handle für den Bildschirm korrekt in den Schriftgrad zurück.
CFontHolder::InitializeFont
Initialisiert ein CFontHolder
-Objekt.
void InitializeFont(
const FONTDESC* pFontDesc = NULL,
LPDISPATCH pFontDispAmbient = NULL);
Parameter
pFontDesc
Zeigen Sie auf eine Schriftartbeschreibungsstruktur ( FONTDESC), die die Eigenschaften der Schriftart angibt.
pFontDispAmbient
Zeiger auf die Ambient Font-Eigenschaft des Containers.
Hinweise
Wenn pFontDispAmbient nicht NULL ist, wird das CFontHolder
Objekt mit einem Klon der Schnittstelle verbunden, die IFont
von der Ambient Font-Eigenschaft des Containers verwendet wird.
Wenn pFontDispAmbient NULL ist, wird ein neues Font-Objekt entweder aus der Schriftartbeschreibung erstellt, auf die pFontDesc verweist, oder wenn pFontDesc NULL ist, aus einer Standardbeschreibung.
Rufen Sie diese Funktion nach dem Erstellen eines CFontHolder
Objekts auf.
CFontHolder::m_pFont
Ein Zeiger auf die Schnittstelle des CFontHolder
IFont
Objekts.
LPFONT m_pFont;
CFontHolder::QueryTextMetrics
Ruft Informationen zur physischen Schriftart ab, die durch das CFontHolder
Objekt dargestellt wird.
void QueryTextMetrics(LPTEXTMETRIC lptm);
Parameter
lptm
Ein Zeiger auf eine TEXTMETRIC-Struktur , die die Informationen empfängt.
CFontHolder::ReleaseFont
Diese Funktion trennt das CFontHolder
Objekt von der IFont
Schnittstelle.
void ReleaseFont();
CFontHolder::Select
Rufen Sie diese Funktion auf, um die Schriftart Ihres Steuerelements im angegebenen Gerätekontext auszuwählen.
CFont* Select(
CDC* pDC,
long cyLogical,
long cyHimetric);
Parameter
pDC
Gerätekontext, in den die Schriftart ausgewählt ist.
cyLogical
Höhe des Rechtecks, in dem das Steuerelement gezeichnet wird, in logischen Einheiten.
cyHimetric
Höhe des Steuerelements in MM_HIMETRIC Einheiten.
Rückgabewert
Ein Zeiger auf die Schriftart, die ersetzt wird.
Hinweise
Eine Erläuterung der Parameter cyLogical und cyHimetric finden Sie unter GetFontHandle.
CFontHolder::SetFont
Gibt alle vorhandenen Schriftarten frei und verbindet das CFontHolder
Objekt mit einer IFont
Schnittstelle.
void SetFont(LPFONT pNewFont);
Parameter
pNewFont
Zeiger auf die neue IFont
Schnittstelle.