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
介面的指標。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應