http://www.atmarkit.co.jp/fdotnet/dotnettips/234winxpstyle/winxpstyle.html http://www.atmarkit.co.jp/fdotnet/dotnettips/235embmanifest/embmanifest.html !マニフェスト・ファイルを使ったWindows XPスタイルの実装  この方法は、.NET Framework 1.0(VS.NET 2002)のときから使用できるやり方であり、.NET Framework 1.1(VS.NET 2003)でも有効だ。  こちらの場合でも、事前に、次のコントロールのFlatStyleプロパティを「System」に設定しておく必要がある。 * Buttonコントロール * GroupBoxコントロール * CheckBoxコントロール * RadioButtonコントロール  この方法では、WindowsアプリケーションにWindows XPスタイルの外観を持たせるのに、コードを書く必要はない。Windowsアプリケーションと同じディレクトリに「マニフェスト・ファイル」を作成しておくだけで、そのアプリケーションにWindows XPスタイルの外観が適用される。  マニフェスト・ファイルは、アプリケーションが利用するコンポーネントなどの情報を記述するためのXMLファイルである。アプリケーションに Windows XPスタイルの外観を持たせるには、このXMLファイルにWindows XP用の新しいCOMCTL32.DLL(Version.6のコモン・コントロール)を使うように記述すればよい(古いVersion.5の COMCTL32.DLLがデフォルトで使われる理由を筆者は知らないが、恐らくWindows XPにネイティブ対応していないアプリケーションがそのまま動くように下位互換性を持たせるためだろう)。  具体的には、マニフェスト・ファイルとして次の内容のファイルを作成すればよい(テキスト・エディタなどで編集する)。 .NET control deployment tool Windows XPの外観を指定するためのマニフェスト・ファイルの内容 太字の部分(この例では「WindowsApplication1.exe」)にはアプリケーションの実行ファイルを指定するため、アプリケーションごとに記述内容が異なる。本稿の例では、アプリケーションが「WindowsApplication1.exe」というファイル名なので、このような記述となっている。 サンプル・ファイルのダウンロード(WindowsApplication1.exe.manifest)  このマニフェスト・ファイルの名前は、「<アプリケーション名>.manifest」とする必要がある。例えば実行ファイルの名前が「WindowsApplication1.exe」というアプリケーションならば、マニフェスト・ファイルの名前は「WindowsApplication1.exe.manifest」となる。 !isual Studio .NETを利用したマニフェスト・ファイルの組み込み Win32リソースであるマニフェスト・ファイルをアプリケーションに埋め込むには、Win32リソース・ファイル(.resファイル)を作成する必要がある。VS.NETでこれを作成するには、次の手順を実行する(作業手順は「VS.NETを使ったWin32リソース(マニフェスト・ファイル)の組み込み」の手順とほぼ同じ)。 1. VS.NET IDEのメニューから[ファイル]−[新規作成]−[ファイル]を実行して、[新しいファイル]ダイアログを開く。そのダイアログの[Visual C++]カテゴリの[テンプレート]の一覧から「リソース テンプレート ファイル(rct)」を選択してファイルを作成する。 2. リソース・エディタに表示されたリソース・テンプレート・ファイル(.rctファイル。この例では「ResTempl1.rct」)を選択する。 3. リソース・テンプレート・ファイルが選択された状態で[プロパティ]ウィンドウの[Mfc Mode]プロパティを「False」に設定変更する。 4. リソース・テンプレート・ファイルを右クリックしてコンテキスト・メニューを表示し、そのメニューから[リソースの追加]を選択する。これにより、[リソースの追加]ダイアログが表示される。 5. [リソースの追加]ダイアログの[インポート]ボタンをクリックすると、[インポート]ダイアログ([ファイルを開く]ダイアログと同じ形式)が表示されるので、このダイアログで作成済みのマニフェスト・ファイル(本稿の例では「WindowsApplication1.exe.manifest」)を選択する。これにより[カスタム リソース の種類]ダイアログが表示される。[カスタム リソース の種類]ダイアログで、[リソースの種類]として「RT_MANIFEST」を入力して[OK]ボタンをクリックする。 6.「RT_MANIFEST」という種類のリソースとしてマニフェスト・ファイルがリソース・テンプレート・ファイルに追加される。その「RT_MANIFEST」リソースを選択して、[プロパティ]ウィンドウの[ID]プロパティを「1」に変更する。 以上でWin32リソースの作成は完了だ。後は次の画面の手順で、これをWin32リソース・ファイル(.resファイル)として保存すればよい。ここで注意してほしいのは、必ず.resファイルの形式で保存する必要があるということだ。次の画面でその手順を示す。 Win32リソース・ファイル(.resファイル)の保存 リソース・テンプレート・ファイル(.rctファイル。この例では「ResTempl1.rct」)をWin32 リソース・ファイル(.resファイル。この例では「WindowsApplication1.res」)として保存する。この[名前を付けてファイルを保存]ダイアログを開くには、VS.NET IDEのメニューから[ファイル]−[名前を付けて <拡張子を除くファイル名> を保存](本稿の例では[名前を付けて ResTempl1 を保存])を選択すればよい。 1. 保存するWin32リソース・ファイルの名前(この例では「WindowsApplication1.res」)を指定する。 2. [ファイルの種類]は「32 ビット リソース ファイル (*.res)」を選択する。デフォルトでは違う種類(「リソース テンプレート (*.rct)」)になっているので、間違えないように注意すること。 {{category2 プログラミング言語,VB}}