Sdílet prostřednictvím


CFontHolder – třída

Implementuje vlastnost Stock Font a zapouzdřuje funkce objektu písma Systému Windows a IFont rozhraní.

Syntaxe

class CFontHolder

Členové

Veřejné konstruktory

Název Popis
CFontHolder::CFontHolder CFontHolder Vytvoří objekt.

Veřejné metody

Název Popis
CFontHolder::GetDisplayString Načte řetězec zobrazený v prohlížeči vlastností kontejneru.
CFontHolder::GetFontDispatch Vrátí rozhraní písma IDispatch .
CFontHolder::GetFontHandle Vrátí popisovač písma Windows.
CFontHolder::InitializeFont Inicializuje CFontHolder objekt.
CFontHolder::QueryTextMetrics Načte informace o souvisejícím písmu.
CFontHolder::ReleaseFont CFontHolder Odpojí objekt od IFont rozhraní a IFontNotification rozhraní.
CFontHolder::Select Vybere prostředek písma do kontextu zařízení.
CFontHolder::SetFont CFontHolder Připojí objekt k IFont rozhraní.

Veřejné datové členy

Název Popis
CFontHolder::m_pFont Ukazatel na rozhraní objektu CFontHolder IFont .

Poznámky

CFontHolder nemá základní třídu.

Tuto třídu použijte k implementaci vlastních vlastností písma pro váš ovládací prvek. Informace o vytváření těchto vlastností naleznete v článku Ovládací prvky ActiveX: Použití písem.

Hierarchie dědičnosti

CFontHolder

Požadavky

Záhlaví: afxctl.h

CFontHolder::CFontHolder

CFontHolder Vytvoří objekt.

explicit CFontHolder(LPPROPERTYNOTIFYSINK pNotify);

Parametry

pNotify
Ukazatel na rozhraní písma IPropertyNotifySink .

Poznámky

Než ho použijete, musíte volat InitializeFont inicializaci výsledného objektu.

CFontHolder::GetDisplayString

Načte řetězec, který se dá zobrazit v prohlížeči vlastností kontejneru.

BOOL GetDisplayString(CString& strValue);

Parametry

strValue
Odkaz na řetězec CString , který má obsahovat zobrazovaný řetězec.

Návratová hodnota

Nenulové, pokud je řetězec úspěšně načten; jinak 0.

CFontHolder::GetFontDispatch

Voláním této funkce načtěte ukazatel na rozhraní dispečera písma.

LPFONTDISP GetFontDispatch();

Návratová hodnota

Ukazatel na rozhraní objektu CFontHolder IFontDisp . Všimněte si, že funkce, která volá, musí po dokončení zavolat GetFontDispatch IUnknown::Release na tento ukazatel rozhraní.

Poznámky

Zavolejte InitializeFont před voláním GetFontDispatch.

CFontHolder::GetFontHandle

Voláním této funkce získáte popisovač písma Windows.

HFONT GetFontHandle();

HFONT GetFontHandle(
    long cyLogical,
    long cyHimetric);

Parametry

cyLogical
Výška v logických jednotkách obdélníku, ve kterém je ovládací prvek nakreslen.

cyHimetric
Výška ovládacího prvku ve MM_HIMETRIC jednotkách.

Návratová hodnota

Popisovač objektu Font; jinak NULL.

Poznámky

Poměr cyLogical a cyHimetric se používá k výpočtu správné velikosti zobrazení v logických jednotkách pro velikost bodu písma vyjádřenou v MM_HIMETRIC jednotkách:

Velikost písma X = (cyLogical / cyHimetric)

Verze bez parametrů vrací popisovač správné velikosti písma pro obrazovku.

CFontHolder::InitializeFont

Inicializuje CFontHolder objekt.

void InitializeFont(
    const FONTDESC* pFontDesc = NULL,
    LPDISPATCH pFontDispAmbient = NULL);

Parametry

pFontDesc
Ukazatel na strukturu popisu písma ( FONTDESC), která určuje vlastnosti písma.

pFontDispAmbient
Ukazatel na okolí vlastnosti Font kontejneru.

Poznámky

Pokud pFontDispAmbient není NULL, CFontHolder objekt je připojen ke klonu IFont rozhraní používaného okolí Font kontejneru vlastnost.

Pokud pFontDispAmbient je NULL, vytvoří se nový objekt Font buď z popisu písma, na který odkazuje pFontDesc, nebo pokud pFontDesc je NULL, z výchozího popisu.

Volání této funkce po vytvoření objektu CFontHolder .

CFontHolder::m_pFont

Ukazatel na rozhraní objektu CFontHolder IFont .

LPFONT m_pFont;

CFontHolder::QueryTextMetrics

Načte informace o fyzickém písmu reprezentované objektem CFontHolder .

void QueryTextMetrics(LPTEXTMETRIC lptm);

Parametry

lptm
Ukazatel na strukturu TEXTMETRIC , která obdrží informace.

CFontHolder::ReleaseFont

Tato funkce odpojí CFontHolder objekt od svého IFont rozhraní.

void ReleaseFont();

CFontHolder::Select

Voláním této funkce vyberete písmo ovládacího prvku do zadaného kontextu zařízení.

CFont* Select(
    CDC* pDC,
    long cyLogical,
    long cyHimetric);

Parametry

pDC
Kontext zařízení, do kterého je písmo vybrané.

cyLogical
Výška v logických jednotkách obdélníku, ve kterém je ovládací prvek nakreslen.

cyHimetric
Výška ovládacího prvku ve MM_HIMETRIC jednotkách.

Návratová hodnota

Ukazatel na nahrazené písmo.

Poznámky

Informace o parametrech cyLogical a cyHimetric najdete v tématu GetFontHandle.

CFontHolder::SetFont

Uvolní jakékoli existující písmo a připojí CFontHolder objekt k IFont rozhraní.

void SetFont(LPFONT pNewFont);

Parametry

pNewFont
Ukazatel na nové IFont rozhraní.

Viz také

Graf hierarchie
CPropExchange – třída