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 | オブジェクト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 以外。それ以外の場合は 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
オブジェクトはコンテナーのIFont
アンビエント Font プロパティによって使用されるインターフェイスの複製に接続されます。
pFontDispAmbient が NULL の場合、新しい Font オブジェクトは pFontDesc が指すフォントの説明から作成されるか、pFontDesc が NULL の場合は既定の説明から作成されます。
オブジェクトを構築した後、この関数を CFontHolder
呼び出します。
CFontHolder::m_pFont
オブジェクトIFont
のCFontHolder
インターフェイスへのポインター。
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
インターフェイスへのポインター。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示