none
Visual Studio 2008のデフォルトフォント変更について RRS feed

  • 質問

  • お世話さまです。
    VB6で作られたアプリを、自動コンバージョンで、VB2008のアプリに変換しようとしています。
    コンバージョンを実施するにあたり、新旧の開発環境でデフォルトフォントが異なっているため、無指定項目のフォントが変更されてしまいます。

        Visual Basic 6.0        :MSPゴシック
        Visual Studio 2008    :MS UI Gothic

    こうした状況を回避し、現行ソースで無指定の項目はコンバージョン後もMSPゴシックとなるよう対応したいと考えております。
    それで、開発環境のデフォルトフォントを変更する方法があれば、教えていただけますでしょうか。
    (デフォルトフォントはOSのバージョン等に依存?レジストリ内に設定を保持しているのでしょうか?)
    2009年5月26日 7:32

すべての返信

  • 結論から言うと無理です。
    VB.NET(Visual Studio .NET 2002)からはVisual Studio自身はデフォルトフォントを持たなくなっています。
    コンパイルされたプログラムが実行時にそのOSのデフォルトフォント(コントロールパネル-画面の詳細設定)を使用します。
    ですので、MS UI Gothicと決まっているわけではなく、Vistaで実行すればメイリオになりますし、コントロールパネルでMS Pゴシックを設定している人が実行すればMS Pゴシックになります。
    • 回答としてマーク masakiy 2009年5月27日 2:39
    • 回答としてマークされていない masakiy 2009年5月27日 8:20
    2009年5月26日 12:19
  • // 直接的な解決ではないですが。
    Font はアンビエントプロパティといわれるものの一つで、特に指定していないコントロールはその親コントロールの Font の設定を受け継ぎます。
    トップレベルのコントロールである Form の Font さえ設定してやれば大体カバーできるんではないでしょうか。
    2009年5月26日 12:34
  • ご回答ありがとうございました。
    教えていただいた設定法にもとづき、OSのデフォルトフォントをMS UI GothicからMS Pゴシックに変更して、OSを再起動して、VS2008で新規プロジェクトを作成、フォントを見たのですが、VS上はMS UI Gothicのままでした。
    プロジェクトをビルドしてみても同じでした。
    これは、どのように適用すれば、MS Pゴシックになるのでしょうか?
    2009年5月27日 8:24
  • もう少し調べてみました。

    画面のプロパティのフォントの設定が、アクティブ(/非)タイトルバーに、MS UI Gothicを指定できるようなのですが、これを変更しても、VSのフォームはそれを引き継いでくれません。
    ほか、レジストリでOSのフォントを設定するところもあるようなのですが、少々リスキーなのでまだそれは試していません。

    このような状況ですが、アドバイスなどございますでしょうか?
    2009年6月2日 6:50
  • 迷走されているようですが、どちらが目的なのですか?

    1.ユーザ環境の設定(レジストリ)を変更してでも、デフォルトのフォントを変えたい。(他のアプリに影響があっても構わない)
    2.自分のアプリのフォームに張り付いているコントロールのフォントが変われば良い。


    コントロールパネルやレジストリを変えてフォームの初期フォントが変わったとしても、基本的にはその環境だけ変わります。
    別の環境に持って行ったら、違うフォントになっているかもしれません。
    つまり、開発環境だけでなく、実行環境も変えないといけないので、1のような表現になっています。

    2で良いのであれば、Hongliangさんが書かれていますように、フォームやユーザコントロールはFontを自分で設定しましょう。
    このようにすると、そのフォームやユーザコントロールに張り付いているコントロールは全て追従して変わります。(個別に設定しているものは除く)

    # 2の方針で良いなら、あとは項目テンプレートとしてフォームのテンプレートを作って、そのフォームには予めフォントを指定しておくということも可能かも?


    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    2009年6月2日 13:56
    モデレータ
  • 返信ありがとうございます。
    2の方針も考えられるのですが、できれば1でと思っています。
    (現実的なのは2かもしれないとも思ってはいるのですが)

    別の環境にもっていくかどうかはともかくとして、とりあえずは、基本的にはその環境だけ変わるとしても、コントロールパネルやレジストリを変えて、フォームの初期フォントを変えたいと思っています。
    2の方針であればだいたいやり方は分かりましたので、ともかくも1を実現するにはどうするかが知りたいという状況です。
    2009年6月3日 0:40