CFontHolder 類別
實作內建字型屬性,並封裝 Windows 字型物件和 IFont
介面的功能。
語法
class CFontHolder
成員
公用建構函式
名稱 | 描述 |
---|---|
CFontHolder::CFontHolder | 建構 CFontHolder 物件。 |
公用方法
名稱 | 描述 |
---|---|
CFontHolder::GetDisplayString | 擷取容器屬性瀏覽器中顯示的字串。 |
CFontHolder::GetFontDispatch | 傳回字型的 IDispatch 介面。 |
CFontHolder::GetFontHandle | 傳回 Windows 字型的句柄。 |
CFontHolder::InitializeFont | CFontHolder 初始化物件。 |
CFontHolder::QueryTextMetrics | 擷取相關字型的資訊。 |
CFontHolder::ReleaseFont | 中斷 CFontHolder 物件與和 IFontNotification 介面的連接IFont 。 |
CFontHolder::Select | 將字型資源選取至裝置內容。 |
CFontHolder::SetFont | 將 CFontHolder 物件連接到 IFont 介面。 |
公用資料成員
名稱 | 描述 |
---|---|
CFontHolder::m_pFont | 對象的IFont 介面指標CFontHolder 。 |
備註
CFontHolder
沒有基類。
使用此類別實作控件的自定義字型屬性。 如需建立這類屬性的詳細資訊,請參閱 ActiveX 控件:使用字型一文。
繼承階層架構
CFontHolder
需求
標頭: afxctl.h
CFontHolder::CFontHolder
建構 CFontHolder
物件。
explicit CFontHolder(LPPROPERTYNOTIFYSINK pNotify);
參數
pNotify
字型介面的 IPropertyNotifySink
指標。
備註
您必須先呼叫 InitializeFont
來初始化產生的物件,才能使用它。
CFontHolder::GetDisplayString
擷取可在容器的屬性瀏覽器中顯示的字串。
BOOL GetDisplayString(CString& strValue);
參數
strValue
要保存顯示字串之 CString 的參考。
傳回值
如果成功擷取字串,則為非零;否則為 0。
CFontHolder::GetFontDispatch
呼叫此函式以擷取字型分派介面的指標。
LPFONTDISP GetFontDispatch();
傳回值
對象的IFontDisp
介面指標CFontHolder
。 請注意,在完成時, GetFontDispatch
呼叫的函式必須在此介面指標上呼叫 IUnknown::Release
。
備註
通話 之前先呼叫 InitializeFont
GetFontDispatch
。
CFontHolder::GetFontHandle
呼叫此函式以取得 Windows 字型的句柄。
HFONT GetFontHandle();
HFONT GetFontHandle(
long cyLogical,
long cyHimetric);
參數
cyLogical
繪製控件之矩形的高度,以邏輯單位表示。
cyHimetric
控件MM_HIMETRIC單位的高度。
傳回值
Font 物件的句柄;否則為 NULL。
備註
cyLogical 和 cyHimetric 的比例可用來計算以邏輯單元表示之字型點大小的適當顯示大小,以MM_HIMETRIC單位表示:
顯示大小 = ( cyLogical / cyHimetric) X 字型大小
沒有參數的版本會針對螢幕正確傳回字型大小的句柄。
CFontHolder::InitializeFont
CFontHolder
初始化物件。
void InitializeFont(
const FONTDESC* pFontDesc = NULL,
LPDISPATCH pFontDispAmbient = NULL);
參數
pFontDesc
指定字型特性之字型描述結構的指標( FONTDESC)。
pFontDispAmbient
容器環境 Font 屬性的指標。
備註
如果 pFontDispAmbient 不是 NULL,對象 CFontHolder
會連接到容器的環境 Font 屬性所使用的介面複製 IFont
品。
如果 pFontDispAmbient 為 NULL,則會從 pFontDesc 所指向的字型描述建立新的 Font 物件,或從預設描述建立 pFontDesc 為 NULL 時。
建構 CFontHolder
物件之後呼叫此函式。
CFontHolder::m_pFont
對象的IFont
介面指標CFontHolder
。
LPFONT m_pFont;
CFontHolder::QueryTextMetrics
擷取 物件所 CFontHolder
表示之實體字型的資訊。
void QueryTextMetrics(LPTEXTMETRIC lptm);
參數
lptm
將接收資訊的 TEXTMETRIC 結構的指標。
CFontHolder::ReleaseFont
此函式會中斷物件與其IFont
介面的連接CFontHolder
。
void ReleaseFont();
CFontHolder::Select
呼叫此函式,將控件的字型選取到指定的裝置內容中。
CFont* Select(
CDC* pDC,
long cyLogical,
long cyHimetric);
參數
pDC
選取字型的裝置內容。
cyLogical
繪製控件之矩形的高度,以邏輯單位表示。
cyHimetric
控件MM_HIMETRIC單位的高度。
傳回值
要取代之字型的指標。
備註
如需 cyLogical 和 cyHimetric 參數的討論,請參閱 GetFontHandle。
CFontHolder::SetFont
釋放任何現有的字型,並將 對象IFont
連接到CFontHolder
介面。
void SetFont(LPFONT pNewFont);
參數
pNewFont
新 IFont
介面的指標。