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 Verbinden das CFontHolder Objekt an eine IFont Schnittstelle.

Öffentliche Datenmember

Name Beschreibung
CFontHolder::m_pFont Ein Zeiger auf die Schnittstelle des CFontHolderIFont 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 CFontHolderIFontDisp 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 GetFontDispatchan.

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 pFontDescverweist, 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 CFontHolderIFont 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.

Siehe auch

Hierarchiediagramm
CPropExchange-Klasse