某所のTipsです。こちらへ移動しておきます。
WindowsXPで新しい画面デザイン「Luna」が採用されました。
さすがに画面を見たことの無い人はいないと思いますが、実際にプログラムをLuna対応にさせるにはどうすればいいのでしょうか?
.Netの場合
Windows フォーム上のコントロールで Windows XP のビジュアル スタイルを使用する方法
Windows XP がもたらす Visual Basic デベロッパーへの福音 ~ 第 3 回: Visual Studio .NET での 視覚スタイル の利用と今後について ~
実現方法は中身をじっくりと見ていただきたいのですが、EXEに組み込む場合には手作業が入ります。(自動化も出来るかもしれないですが・・・)
素直にmanifestファイルを置いておくだけで、Lunaスタイルを持つOSでは自動で対応してくれるのでいいと思います。
XP スタイルのコモン コントロールを使う Windows フォーム アプリケーションが起動に失敗する
app.configと.manifestはUTF-8で統一しておく必要があります。
Application.EnableVisualStylesを使う方法もあるが、.Net1.1の現在ではパフォーマンス的にも、不具合の問題から見ても使用はやめましょう。
http://www.ailight.jp/blog/ishino/archive/2004/05/18/1808.aspx
従来型アプリケーションの場合
Windows XP ビジュアル スタイルの使用
Windows XP がもたらす Visual Basic デベロッパーへの福音 ~第1回: Visual Basic で新しいユーザーインターフェースに対応するには~
VisualStudio6以前のプログラムなどの場合です。VB6の説明を軽くします。
枠組みを利用したりする際に一般的に使われるフレームを利用するとオプションボタンとボタンが黒くなってしまいます。
基本的な対策はフレームの代わりにピクチャーボックスを使うことしかありません。
以前やったプロジェクトで途中でフレームからピクチャーボックスに切り替えたのですが、切り替えることにそんなに苦労は無いので切り替えましょう。