VB2005のフォントについて

解決


fumofumofit  2009-11-10 19:45:35  No: 142780

開発環境:  WinXP(SP3)  VB2005  Oracle 9i

VB2005 で MS Serif  は使用できないのでしょうか?
VB6で数値の表示に使用していた為
VB2005でも同じフォントを使用したいと考えております。

ご教授願います。


fumofumofit  2009-11-11 17:17:44  No: 142781

VB2005 のコントロールのフォントに
MS Serif を使用したいのですが
何か方法はありませんでしょうか?

ラベル、テキスト、DataGridVeiw等のコントロール


魔界の仮面弁士  2009-11-11 19:22:43  No: 142782

ビットマップフォントは利用できません。
現在のところ、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 フォント製品を
探してきて、それを購入・導入するぐらいでしょうか。


fumofumofit  2009-11-11 20:05:31  No: 142783

魔界の仮面弁士さんありがとうございます。

>ビットマップフォントは利用できません。
>現在のところ、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 フォント製品を
>探してきて、それを購入・導入するぐらいでしょうか。

自力実装は時間がかかりそうなので、
元のフォントに近いフォントを使用します。

ありがとうございました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加