Windows コモン コントロールのビルド要件
MFC (Microsoft Foundation Class) ライブラリはWindows コモン コントロールをサポートしています。 コモン コントロールは Windows に含まれており、ライブラリは Visual Studio に含まれています。 MFC ライブラリには、既存のクラスを強化する新しいメソッド、および Windows コモン コントロールをサポートする追加のクラスとメソッドが用意されています。 アプリケーションをビルドするときは、次のセクションで説明されているコンパイルと移行の要件に従う必要があります。
コンパイルの要件
サポートされているバージョン
MFC は、すべてのバージョンのコモン コントロールをサポートしています。 Windows コモン コントロールについては、「コモン コントロールのバージョン」を参照してください。
サポートされている文字セット
Windows コモン コントロールは、ANSI 文字セットではなく、Unicode 文字セットのみをサポートしています。 コマンド ラインでアプリケーションをビルドする場合は、次の 2 つの定義 (/D) コンパイラ オプションを使用して、基になる文字セットとして Unicode を指定します:
/D_UNICODE /DUNICODE
Visual Studio 統合開発環境 (IDE) でアプリケーションをビルドする場合は、プロジェクト プロパティの[全般] ノードで、[文字セット] プロパティの [Unicode 文字セット] オプションを指定します。
移行の要件
Visual Studio IDE を使用して Windows コモン コントロールを使用する新しい MFC アプリケーションをビルドする場合、IDE は適切なマニフェストを自動的に宣言します。 ただし、既存の MFC アプリケーションを Visual Studio 2005 以前のバージョンから移行してコモン コントロールを使用する場合、IDE はアプリケーションをアップグレードするためのマニフェスト情報を自動的に提供しません。 代わりに、プリコンパイル済みヘッダー ファイルに次のソース コードを手動で挿入する必要があります:
#ifdef UNICODE
#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
#endif