IFont インターフェイス (ocidl.h)

Windows フォント オブジェクトのラッパーを提供します。 COM フォント オブジェクトは、多数の読み取り/書き込みプロパティと、 その IFont インターフェイスを介した一連のメソッドをサポートしています。 これは、ディスパッチ インターフェイス IFontDisp を介して同じプロパティセット (メソッドではなく) をサポートします。これは、オートメーションを介してフォントのプロパティへのアクセスを提供するために IDispatch から派生します。 システムは、両方のインターフェイスを持つフォント オブジェクトの標準実装を提供します。

font オブジェクトは、送信インターフェイス IPropertyNotifySink もサポートしているため、クライアントはフォント プロパティが変更されるタイミングを判断できます。 フォント オブジェクトは少なくとも 1 つの発信インターフェイスをサポートするため、この目的のために IConnectionPointContainer および関連インターフェイスも実装します。

font オブジェクトは、フォントに指定された他の属性に準拠する Windows フォント ハンドルである hFont プロパティを提供します。 フォント オブジェクトは可能な限りこの hFont オブジェクトの実現を遅らせるので、フォントに 2 つのプロパティを連続して設定しても中間フォントは実現されません。 さらに、最適化として、システム実装フォント オブジェクトは、フォント ハンドルのキャッシュを維持します。 同じプロパティを持つ同じプロセス内の 2 つのフォント オブジェクトは、同じフォント ハンドルを返します。 フォント オブジェクトは、このキャッシュからフォント ハンドルを削除できます。これにより、hFont プロパティを使用するクライアントに関する特別な考慮事項が導入されています。

フォント オブジェクトは IPersistStream もサポートしているため、 IStream のインスタンスから自身を保存して読み込むことができます。 内部的にフォント オブジェクトを使用するオブジェクトは、通常、オブジェクト独自の永続化処理の一部としてフォントを保存して読み込みます。

さらに、font オブジェクトは IDataObject をサポートしています。これにより、フォントの属性を含むプロパティ セットをレンダリングできるため、クライアントはこれらのプロパティをテキストとして保存できます。

継承

IFont インターフェイスは、IUnknown インターフェイスから継承されます。 IFont には、次の種類のメンバーもあります。

メソッド

IFont インターフェイスには、これらのメソッドがあります。

 
IFont::AddRefHfont

ReleaseHfont が呼び出されるか、フォント オブジェクト自体が完全に解放されるまで、hFont で識別された以前に認識されたフォントが有効なままであることをフォント オブジェクトに通知します。
IFont::Clone

重複するフォント オブジェクトを作成します。
IFont::get_Bold

フォントの現在の Bold プロパティを取得します。
IFont::get_Charset

フォントで使用される文字セットを取得します。
IFont::get_hFont

このフォント オブジェクトによって記述されたフォントへのハンドルを取得します。
IFont::get_Italic

フォントの現在の Italic プロパティを取得します。
IFont::get_Name

フォント ファミリの名前を取得します。
IFont::get_Size

フォントのポイント サイズを取得します。
IFont::get_Strikethrough

フォントの現在の取り消し線プロパティを取得します。
IFont::get_Underline

フォントの現在の Underline プロパティを取得します。
IFont::get_Weight

フォントの現在の Weight プロパティを取得します。
IFont::IsEqual

このフォント オブジェクトを別のフォント オブジェクトと比較して同等にします。
IFont::p ut_Bold

フォントの Bold プロパティを設定します。
IFont::p ut_Charset

フォントの文字セットを設定します。
IFont::p ut_Italic

フォントの Italic プロパティを設定します。
IFont::p ut_Name

フォント ファミリの新しい名前を指定します。
IFont::p ut_Size

フォントのポイント サイズを設定します。
IFont::p ut_Strikethrough

フォントの取り消し線プロパティを設定します。
IFont::p ut_Underline

フォントの [下線] プロパティを設定します。
IFont::p ut_Weight

フォントの Weight プロパティを設定します。
IFont::QueryTextMetrics

呼び出し元によって割り当てられた構造体にフォントに関する情報を入力します。
IFont::ReleaseHfont

以前に IFont::AddRefHfont を使用してキャッシュ内のこのフォントをロックした呼び出し元がロックを必要としなくなることをフォント オブジェクトに通知します。
IFont::SetHdc

論理マッピング モードを記述するフォントへのデバイス コンテキストを提供します。
IFont::SetRatio

このフォントの拡大縮小率を論理単位と HIMETRIC 単位の間で変換します。

解説

IFont インターフェイスの各プロパティには、プロパティが読み取りアクセスをサポートしている場合は get_PropertyName メソッド、書き込みアクセスがサポートされている場合は put_PropertyName メソッドが含まれます。 これらのプロパティのほとんどは、読み取りと書き込みの両方のアクセスをサポートしています。

プロパティ Type Read Access メソッド Write Access メソッド 説明
名前 Bstr get_Name put_Name フォントの facename (Arial など)。
[サイズ] Cy get_Size put_Size 小数部のポイント サイズを可能にするために CY 型で表されるフォントのポイント サイズ。
太字 BOOL get_Bold put_Bold フォントが太字かどうかを示します。
斜体 BOOL get_Italic put_Italic フォントが斜体かどうかを示します。
下線 BOOL get_Underline put_Underline フォントに下線が付くかどうかを示します。
取り消し線 BOOL get_Strikethrough put_Strikethrough フォントが取り消し線かどうかを示します。
Weight short get_Weight put_Weight フォントの太字。
Charset short get_Charset put_Charset フォントで使用される文字セット ( ANSI_CHARSETDEFAULT_CHARSETSYMBOL_CHARSETなど)。
hFont HFONT get_hFont レンダリング用のデバイス コンテキストに選択できる Windows フォント ハンドル。
 

OLE の実装

システムは、基になるシステム フォント サポートの上に IFont インターフェイスを持つフォント オブジェクトの標準実装を提供します。 フォント オブジェクトは、 OleCreateFontIndirect 関数を使用して作成されます。 フォント オブジェクトは、IFont インターフェイスを介して多数の読み取り/書き込みプロパティとメソッドのセットをサポートし、IDispatch から派生したディスパッチ インターフェイス IFontDisp を介して同じプロパティセット (メソッドではなく) をサポートし、Automation を介してフォントのプロパティへのアクセスを提供します。 フォント オブジェクトのシステム実装では、両方のインターフェイスが提供されます。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー ocidl.h

関連項目

Ifontdisp