VC++6でのXPタイルの適用

VC++でXPスタイルに対応したアプリケーションの作成方法です。
まず、アプリケーション名.exe.manifestを作成します
ツールなどを使うと楽にできます。
中身は以下のとおりです。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
  version="1.0.0.0"
  processorArchitecture="X86"
  name="CompanyName.ProductName.PersonalWiki"
  type="win32" />
<description>Description</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="X86"
            publicKeyToken="6595b64144ccf1df"
            language="*" />
    </dependentAssembly>
</dependency>
</assembly>
これは、マニフェスト自動作成君()というツールで作成した、拙作ソフトPersonalWikiのマニフェストです。
こんな感じのファイルを生成しておきます。
まぁ、このファイルがあればXPスタイルに対応できてしまうのですが、リソースに埋め込む事もできるのでリソースに埋め込んでみましょう。
通常、VC++6でプロジェクトを生成すると、プロジェクトのフォルダ配下にresファイルができています
その中の、xxx.rc2ファイルを編集します。
//
// PERSONALWIKI.RC2 - このリソースは Microsoft Visual C++ で直接編集することはできません
//

#ifdef APSTUDIO_INVOKED
	#error this file is not editable by Microsoft Visual C++
#endif //APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
// 独自にリソースを編集する場合はこの場所に追加してください...
#define CREATEPROCESS_MANIFEST_RESOURCE_ID       1
#define RT_MANIFEST                             24
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST  "PersonalWiki.exe.manifest"

/////////////////////////////////////////////////////////////////////////////
これもPersonalWikiのrc2ファイルです。
「独自にリソースを・・・」の下の3行を追加すればよいです。
あとはコンパイルしてXPでちゃんと動けば成功です。

あと、読もうと思って読んでいないXPスタイル関係のページのリンク
  • [00014759] Re[9]:CEdit のスタイルを後から変更するには?
  • PlayLoud!!: XPビジュアルスタイルの適用
  • Using Windows XP Visual Styles