Windows Vista コモン コントロールの作成要件
MFC (Microsoft Foundation Class) ライブラリは、Windows コモン コントロール Version 6.1 をサポートしています。 コモン コントロールは Windows Vista に用意され、ライブラリは Visual Studio 2008 SDK に用意されています。 このライブラリには、既存のクラスを強化するための新しいメソッドや、Windows Vista コモン コントロールをサポートするための新しいクラスとメソッドが組み込まれています。 アプリケーションの作成時には、以下のセクションで取り上げるコンパイル要件と移行要件を満たす必要があります。
コンパイル要件
サポートされているバージョン
一部の新しいクラスとメソッドは、Windows Vista およびそれ以降のバージョンにしか対応していませんが、メソッドについてはそれより前のオペレーティング システムに対応しているものもあります。 各メソッドのトピックにある「Requirements」セクションには、最低限必要なオペレーティング システムが Windows Vista になる場合に関する注記が含まれています。
コンピューターで Windows Vista を実行していない場合でも、Version 6.1 の MFC ヘッダー ファイルがそのコンピューターにあれば、Windows Vista で動作する MFC アプリケーションを作成できます。 ただし、Windows Vista を特に対象とした設計になっているコモン コントロールは、そのシステムでのみ動作し、それより前のオペレーティング システムでは無視されます。
サポートされている文字セット
新しい Windows コモン コントロールは、Unicode 文字セットだけをサポートし、ANSI 文字セットはサポートしていません。 コマンド ラインでアプリケーションを作成する場合は、基になる文字セットとして Unicode を指定するために、以下の両方の定義コンパイラ オプション (/D) を使用します。
/D_UNICODE /DUNICODE
Visual Studio 統合開発環境 (IDE) でアプリケーションを作成する場合は、プロジェクト プロパティの [全般] ノードで、[文字セット] プロパティの [Unicode 文字セットを使用する] オプションを指定します。
Windows コモン コントロール Version 6.1 から、いくつかの ANSI バージョンの MFC メソッドの使用が推奨されなくなりました。 詳細については、「サポートされなくなった ANSI API」を参照してください。
移行要件
Windows コモン コントロール Version 6.1 を使用する新しい MFC アプリケーションを Visual Studio IDE で作成する場合は、IDE によって適切なマニフェストが自動的に宣言されます。 ただし、既存の MFC アプリケーションを以前のバージョンの Visual Studio から移行するときに新しいコモン コントロールを使用する場合は、アプリケーションをアップグレードするためのマニフェスト情報が IDE によって自動的に提供されることはありません。 stdafx.h ファイルに以下のソース コードを手動で挿入する必要があります。
#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