開発環境: WinXP(SP3) VB2005 Oracle 9i
VB2005 で MS Serif は使用できないのでしょうか?
VB6で数値の表示に使用していた為
VB2005でも同じフォントを使用したいと考えております。
ご教授願います。
VB2005 のコントロールのフォントに
MS Serif を使用したいのですが
何か方法はありませんでしょうか?
ラベル、テキスト、DataGridVeiw等のコントロール
ビットマップフォントは利用できません。
現在のところ、Font クラスがサポートしているフォントは、TrueType のみです。
(内部に TrueType Outline を含んだ OpenType フォントも使用可能)
これは .NET というよりも、その背景にある GDI+ の制限によるもののようです。
そのため、
New Font("MS Serif", 12.0!)
などで "MS Serif" や "MS Sans Serif" などのビットマップフォントを
指定しようとしても、"Microsoft Sans Serif" の TrueType フォントに
置き換えられてしまいます。
また、 Font.FromLogFont(LOGFONT) で生成しようとした場合も、
下記の ArgumentException になってしまう事が確認されています。
『TrueType フォントのみがサポートされています。これは TrueType フォントではありません。』
> ラベル、テキスト、DataGridVeiw等のコントロール
無理矢理実装するとすれば、オーナードロー描画に切り替えて、
Graphics から得た HDC に対して、TextOut API などの GDI ベースの描画処理を
自力実装するか、あるいは、元のフォントに近い TrueType フォント製品を
探してきて、それを購入・導入するぐらいでしょうか。
魔界の仮面弁士さんありがとうございます。
>ビットマップフォントは利用できません。
>現在のところ、Font クラスがサポートしているフォントは、TrueType のみです。
>(内部に TrueType Outline を含んだ OpenType フォントも使用可能)
>これは .NET というよりも、その背景にある GDI+ の制限によるもののようです。
下記URLでも似たようなことが掲載されていました。
http://msdn.microsoft.com/ja-jp/library/cc437520%28VS.71%29.aspx
具体的で分かりやすい説明ありがとうございます。
>無理矢理実装するとすれば、オーナードロー描画に切り替えて、
>Graphics から得た HDC に対して、TextOut API などの GDI ベースの描画処理を
>自力実装するか、あるいは、元のフォントに近い TrueType フォント製品を
>探してきて、それを購入・導入するぐらいでしょうか。
自力実装は時間がかかりそうなので、
元のフォントに近いフォントを使用します。
ありがとうございました。