PowerTools SPREAD for Windows Forms 10.0J > 開発者ガイド > スタイル > GDI によるテキストのレンダリング |
GDI+ではなくGDIを使用して、Visual Studio内でテキストを描画できます。これには、特殊なFarPoint.Win.TextRenderer DLLを使用して、これをプロジェクト内の参照に追加します。 .NET Frameworkバージョン2.0において、プロジェクトでテキストレンダラ機能を使用して、GDI+ベースではなくGDIベースのテキスト描画を行う場合は、FarPoint.Win.TextRenderer.dllファイルを配布する必要があります。 このファイルの利点を生かせるのは、Visual Studioを使用するユーザーのみです。この環境では、.NET Frameworkバージョン2.0をターゲットとする必要があるためです。
FarPoint.Win.TextRenderer.dllは、.NET 2.0以降の新規System.Windows.Forms TextRendererクラスのためのシン ラッパーです。 SPREADコンポーネントは、System.Windows.Formsアセンブリ内でフレームワークとなるSystem.Windows.Forms.TextRendererクラスを検出すると、FarPoint.Win.TextRendererアセンブリの場所を探します(SPREADが.NET 2.0で実行されている場合)。 この場所が見つかった場合は、SPREADはFarPoint TextRendererをロードし、リフレクションを使用してこれに対する動的呼び出しを行い、System.Drawing.Graphics.DrawStringではなくSystem.Windows.Forms.TextRendererによってテキストを描画します。 SPREADはリフレクションを使用して動的呼び出しを行うため、SPREADアセンブリがFarPoint.Win.TextRendererアセンブリに依存しません。FarPointアセンブリが見つからない場合、またはSystem.Windows.Formsアセンブリ内にSystem.Windows.Forms.TextRendererクラスが見つからない場合は、SPREADは通常どおりGraphics.DrawStringを使用してテキストを描画します。 .NET 2.0の新しいTextRendererクラスと、Graphicsオブジェクトによるテキスト描画方法との詳細な相違点、特に.NET FrameworkでGDI+ APIを使用するのではなく、TextRendererがWindowsでGDI描画APIを使用するしくみについては、.NET FrameworkのヘルプでTextRendererクラスについての解説を参照してください。
メモ : SPREADでは、アプリケーション内の他のテキスト描画において新規TextRendererクラスによるGDIを使用する場合であっても、GDI+による描画を使用できます。また、アプリケーション内の他のテキスト描画においてGDI+を使用する場合であっても、新規TextRendererクラスによるGDI描画を使用できます。その違いはわずかであり(余白と配置が数ピクセル分異なる程度)、目立つものではありません。
このDLLは、SPREADでのGDI描画を優先するシステムにおいて、アプリケーションの実行可能ファイルが保存されているディレクトリ(binフォルダ)にインストールする必要があります。 このファイルをGACにインストールすると、.NET Frameworkバージョン2.0を使用する全アプリケーション内のすべてのFpSpreadコントロールが、テキスト描画にTextRendererを使用できるようになります。 このファイルをアプリケーションごとにbinフォルダにインストールすると、.NET Frameworkはこの場所でファイルを検出します。
GDIおよびGDI+ベースのテキスト描画の詳細については、MSDNライブラリ等の各種ドキュメントを参照してください。
Microsoft .NET Frameworkドキュメント内で提供される詳細情報については、Microsoft .NET TextRendererクラスについての解説を参照してください。