ビジュアルスタイルの表示にする

ビジュアルスタイル未 ビジュアルスタイル済

左図はビジュアルスタイルになっていません。右図はビジュアルスタイルになっています。
ここでは、ビジュアルスタイルにする方法を説明します。

方法1.プロジェクトにmanifestファイルを追加する。

方法2.ソースコードに直接コードを埋め込む。

方法1.プロジェクトにmanifestファイルを追加する。

manifest.xmlファイルの用意

下記のmanifest.xmlファイルを用意し、ソースファイルと同じフォルダに入れます。

manifest.xml
<?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.YourApp"
    type="win32"
/>
<description>applcation</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="X86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
</dependency>
</assembly>

「CompanyName.ProductName.YourApp」と「applcation」は、任意の文字列に変更することができます。
「publicKeyToken="6595b64144ccf1df"」は、このmanifest.xmlファイルが、どのバージョンのDLLを読み込むか指定するものですので、間違えないようにしてください。

プロジェクトフィルの設定

プロジェクトプロパティ

「ソリューション エクスプローラー」で、フォルダを選択した状態、もしくは、プロジェクト名が選択された状態で、

プロジェクト(P)」 - 「プロパティ(P)...」(「ソリューション エクスプローラー」で、プロジェクト名が選択した状態の場合)
または、「プロジェクト(P)」 - 「[プロジェクト名]のプロパティ(P)...」(「ソリューション エクスプローラー」で、フォルダを選択した状態の場合)
を選択。

「ソリューション エクスプローラー」で、ファイルを選択した状態、もしくは、一番上の「ソリューション'[プロジェクト名]'(1プロジェクト)」が選択された状態では、 これ以降で解説する設定が表示できません。

左側のツリーから「構成プロパティ」-「マニフェスト ツール」-「入出力 (入力と出力)」を選択。
右側のリストビューの「追加のマニフェスト ファイル」に先ほど追加したmanifest.xmlを追加。
「OK」をクリック。

追加のマニフェストファイル

ビジュアルスタイルにならない場合の確認事項

これでもビジュアルスタイルにならない場合は、

1.

commctrl.hをインクルード

#include <commctrl.h>

2.

comctl32.libを読み込む

#pragma comment(lib, "comctl32.lib") 

3.

WM_CREATEのところで、InitCommonControls()により、コモンコントロールの初期化

InitCommonControls();

を行っているか確認してください。

方法2.ソースコードに直接コードを埋め込む

ソースコードの入力

ただ、下記を追加するだけです。複数行にまたがるので、改行部分に\を入れています。


#pragma comment(linker,"/manifestdependency:\"type='win32' \
  name='Microsoft.Windows.Common-Controls' \
  version='6.0.0.0' \
  processorArchitecture='x86' \
  publicKeyToken='6595b64144ccf1df' \
  language='*'\"") 

ビルド・実行

★ビジュアルスタイルを解除するために、今回追加したコードを削除してからコンパイルすると、
mt.exe : general error c101008a: Failed to save the updated manifest to the file ".\Debug\***.exe.embed.manifest"〜
といったコンパイルエラーが発生します。
***.exe.embed.manifestを削除してから、コンパイルしてください。