読者です 読者をやめる 読者になる 読者になる

Visual C++ 2005で作成したMBCSアプリでビジュアルスタイルを有効にする方法

VC++2005で、MBCSアプリを作成すると、ビジュアルスタイルが有効にならずに、昔ながらのWindows95っぽいクラシックスタイルに。
これを回避する為にはstdafx.hに以下の内容を追加。

#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
これ、UNICODEアプリだと、何故かこの部分が#ifdef _UNICODEでくくられているんだよね・・・。

追記:
お客さんのご指名だから、Visual C++を使う羽目に。(号泣
うん、やっぱり、MFCは使いづらい。ヽ(`Д´)ノ ウワァァァン
それに、一度でもデバッグすると、EXEがロックされるか何かで再ビルドできない。オプションの”平行にビルドするプロジェクト数”を1にしてもだめ。IDEを起動し直したらOK。だけど、デバッグするたびにIDEを起動し直すのは萎え萎え。
VS2008の日本語版が出てきたら、FIXされているかどうか試してみるか。
最悪、冬休み中に開発用マシンを自宅に持ち帰って、再インストールするしかないかも。