次の方法で共有


CFontHolder クラス

ストック フォント プロパティを実装し、Windows のフォント オブジェクトと IFont インターフェイスの機能をカプセル化します。

構文

class CFontHolder

メンバー

パブリック コンストラクター

名前 説明
CFontHolder::CFontHolder CFontHolder オブジェクトを構築します。

パブリック メソッド

名前 説明
CFontHolder::GetDisplayString コンテナーのプロパティ ブラウザーに表示される文字列を取得します。
CFontHolder::GetFontDispatch フォントの IDispatch インターフェイスを返します。
CFontHolder::GetFontHandle Windows フォントへのハンドルを返します。
CFontHolder::InitializeFont CFontHolder オブジェクトを初期化します。
CFontHolder::QueryTextMetrics 関連するフォントの情報を取得します。
CFontHolder::ReleaseFont CFontHolder オブジェクトをIFontインターフェイスおよびIFontNotification インターフェイスから切断します。
CFontHolder::Select デバイス コンテキストにフォント リソースを選択します。
CFontHolder::SetFont CFontHolder オブジェクトをIFont インターフェイスに接続します。

パブリック データ メンバー

名前 説明
CFontHolder::m_pFont CFontHolder オブジェクトのIFont インターフェイスへのポインター。

解説

CFontHolder には基底クラスはありません。

このクラスを使用して、コントロールのカスタム フォント プロパティを実装します。 このようなプロパティの作成の詳細については、「 ActiveX コントロール: フォントの使用」を参照してください。

継承階層

CFontHolder

要件

Header: afxctl.h

CFontHolder::CFontHolder

CFontHolder オブジェクトを構築します。

explicit CFontHolder(LPPROPERTYNOTIFYSINK pNotify);

パラメーター

pNotify
フォントの IPropertyNotifySink インターフェイスへのポインター。

解説

InitializeFontを呼び出して、結果のオブジェクトを使用する前に初期化する必要があります。

CFontHolder::GetDisplayString

コンテナーのプロパティ ブラウザーに表示できる文字列を取得します。

BOOL GetDisplayString(CString& strValue);

パラメーター

strValue
表示文字列を保持する CString への参照。

戻り値

文字列が正常に取得された場合は 0 以外。それ以外の場合は 0。

CFontHolder::GetFontDispatch

この関数を呼び出して、フォントのディスパッチ インターフェイスへのポインターを取得します。

LPFONTDISP GetFontDispatch();

戻り値

CFontHolder オブジェクトのIFontDisp インターフェイスへのポインター。 GetFontDispatchを呼び出す関数は、このインターフェイス ポインターでIUnknown::Releaseを呼び出す必要があることに注意してください。

解説

GetFontDispatchを呼び出す前にInitializeFontを呼び出します。

CFontHolder::GetFontHandle

Windows フォントへのハンドルを取得するには、この関数を呼び出します。

HFONT GetFontHandle();

HFONT GetFontHandle(
    long cyLogical,
    long cyHimetric);

パラメーター

cyLogical
コントロールが描画される四角形の高さ (論理単位)。

cyHimetric
コントロールの高さ (MM_HIMETRIC 単位)。

戻り値

Font オブジェクトへのハンドル。それ以外の場合は NULL。

解説

cyLogicalcyHimetric の比率は、フォントのポイント サイズ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 の場合、新しい Font オブジェクトは、pFontDesc が指すフォントの説明から作成されるかpFontDescが NULL の場合は、既定の説明から作成されます。

CFontHolder オブジェクトを構築した後、この関数を呼び出します。

CFontHolder::m_pFont

CFontHolder オブジェクトのIFont インターフェイスへのポインター。

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

既存のフォントを解放し、 CFontHolder オブジェクトを IFont インターフェイスに接続します。

void SetFont(LPFONT pNewFont);

パラメーター

pNewFont
新しい IFont インターフェイスへのポインター。

関連項目

階層図
CPropExchange クラス