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_CHARSET、 DEFAULT_CHARSET、 SYMBOL_CHARSETなど)。 |
hFont | HFONT | get_hFont | レンダリング用のデバイス コンテキストに選択できる Windows フォント ハンドル。 |
OLE の実装
システムは、基になるシステム フォント サポートの上に IFont インターフェイスを持つフォント オブジェクトの標準実装を提供します。 フォント オブジェクトは、 OleCreateFontIndirect 関数を使用して作成されます。 フォント オブジェクトは、IFont インターフェイスを介して多数の読み取り/書き込みプロパティとメソッドのセットをサポートし、IDispatch から派生したディスパッチ インターフェイス IFontDisp を介して同じプロパティセット (メソッドではなく) をサポートし、Automation を介してフォントのプロパティへのアクセスを提供します。 フォント オブジェクトのシステム実装では、両方のインターフェイスが提供されます。要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | ocidl.h |