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