Share via


CFontHolder クラス

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

構文

class CFontHolder

メンバー

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

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

パブリック メソッド

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

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

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

解説

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

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

継承階層

CFontHolder

必要条件

ヘッダー: 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();

戻り値

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

解説

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

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オブジェクトはコンテナーのIFontアンビエント Font プロパティによって使用されるインターフェイスの複製に接続されます。

pFontDispAmbient が NULL の場合、新しい Font オブジェクトは pFontDesc が指すフォントの説明から作成されるか、pFontDesc が NULL の場合は既定の説明から作成されます。

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

CFontHolder::m_pFont

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

LPFONT m_pFont;

CFontHolder::QueryTextMetrics

オブジェクトによって表される物理フォントに関する情報を CFontHolder 取得します。

void QueryTextMetrics(LPTEXTMETRIC lptm);

パラメーター

lptm
情報を 受け取る TEXTMETRIC 構造体へのポインター。

CFontHolder::ReleaseFont

この関数は、オブジェクトを CFontHolder インターフェイスから IFont 切断します。

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 クラス