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í.