Visual スタイルの概要

このトピックでは、ビジュアル スタイルについて説明し、それらをサポートするWindows コンポーネントを識別します。 また、アプリケーションでビジュアル スタイルを使用するために必要な手順についても説明します。 このトピックのセクションは次のとおりです。

Themes and Visual Styles (テーマと視覚スタイル)

Windowsには、ユーザーが個々のニーズと好みに合わせて UI を調整できるようにするいくつかの機能が含まれています。 これらの機能には、Microsoft Plus で導入されたテーマが含まれます。 Windows 95 の場合。 テーマは、壁紙、カーソル、フォント、サウンド、アイコンを含むユーザーが選択できる設定のコレクションです。 テーマの特徴を次に示します。

  • テーマ設定は、win.ini ファイルに似た形式の .theme ファイルで指定されます。
  • 独立系ソフトウェア ベンダー (ISV) は、.theme ファイルを作成して製品と共に配布できます。
  • Windows Vista より前のバージョンでは、[表示] コントロール パネルの [テーマ] タブにテーマ ファイルが表示されます。 Windows Vista 以降では、[個人用設定] コントロール パネルにテーマが表示されます。

.theme ファイルの詳細については、「 テーマ ファイル形式」を参照してください。

ビジュアル スタイルは、Windows共通コントロールの外観を定義する仕様です。 ビジュアル スタイルはテーマに関連付けられています。つまり、.theme ファイルには、特定のテーマがアクティブなときに適用する表示スタイルを指定するセクションが含まれています。 ビジュアル スタイルの特性を次に示します。

  • ユーザーは、別のテーマを選択することで、いつでも表示スタイルを変更できます。
  • visual styles API を使用して、現在アクティブなビジュアル スタイルをアプリケーションのカスタム コントロールまたは所有者描画コントロール (存在する場合) に適用する必要があります。
  • ビジュアル スタイルを定義する情報は、.msstyles ファイルに格納されます。 Microsoft では、.msstyles ファイルの作成はサポートされていません。

次の図は、Windows Aero テーマを透明度なしで使用するWindows 7 デスクトップ上のタスク バーを含む単純なダイアログ ボックスを示しています。 ビジュアル スタイルを使用するようにアプリケーションが構成されていないため、テーマの設定に関係なく、ボタンは同じように表示されます。

screen shot of a dialog box with buttons that do not use transparency

これに対し、次の図は、同じデスクトップ上の同じダイアログ ボックスを示していますが、今回は、ビジュアル スタイルを使用するようにアプリケーションが構成されています。 クライアント領域のボタンのさまざまな外観に注意してください。 システムが Aero テーマで定義されている表示スタイルを適用しているため、ボタンの外観が異なります。

screen shot of a dialog box with buttons that use transparency

次の例は、Windows 8 デスクトップの同様のダイアログ ボックスを示しています。 Windows 8では、ビジュアル スタイルは常にオンになっているため、Windows 8 アプリはテーマを "無料" で取得します。

screen shot of a simple dialog box on the windows 8 desktop

Visual Styles コンポーネント

ビジュアル スタイルは、次のコンポーネントでサポートされています。

  • 共通コントロール ライブラリのバージョン 6 以降 (ComCtl32.dll)
  • UxTheme.dllに実装されているビジュアル スタイル API
  • Themes サービス
  • 1 つ以上のビジュアル スタイル定義ファイル (.msstyles)

ビジュアル スタイル API は、テーマと呼ばれるシステム サービスに依存します。 共通コントロール ライブラリは、テーマ サービスに対してクエリを実行してスタイル関連の情報を取得し、Windows 7 以降では、サービスを使用して現在のビジュアル スタイルでコントロールをレンダリングします。

Windows 8 以降では、テーマ サービスがオフの場合でも、ビジュアル スタイル API は引き続き機能します。 つまり、テーマ サービスがオフの場合、共通コントロールとクライアント以外の領域のウィンドウは引き続きビジュアル スタイルを持ちます。 テーマ サービスを引き続き必要とするWindows 8機能は次のとおりです。

  • 通常、PC 設定[個人用設定] ページを使用して、表示スタイルを変更します。
  • ユーザーの切り替え、ログオフ、シャットダウン、ユーザー セッション間での共有に関連するパフォーマンスの最適化。

visual スタイル API は、現在選択されているテーマに関連付けられている .msstyles ファイルからスタイル情報を取得します。 .msstyles ファイルには、ビジュアル スタイルを定義するメトリック、フォント、色、およびビットマップのセットが含まれています

Visual スタイルをサポートするためのアプリケーション要件

ビジュアル スタイルを使用するには、バージョン 6 以降を含むオペレーティング システムでアプリケーションComCtl32.dll実行している必要があります。 アプリケーションでバージョン 6 ComCtl32.dll使用する場合は、アプリケーション マニフェストまたはコンパイラ ディレクティブを追加して、使用可能な場合はバージョン 6 を使用するように指定する必要があります。 アプリケーションでビジュアル スタイルを使用できるようにするアプリケーション マニフェストを作成する方法については、「Visual スタイルの有効化」を参照してください。

一般的なコントロールの場合、コントロールがユーザーの優先表示スタイルで表示されるようにするには、これ以上の操作は必要ありません。

アプリケーションにカスタム コントロールまたは所有者描画コントロールが含まれている場合は、visual スタイル API を使用して、現在アクティブなビジュアル スタイルに関する情報を取得し、そのスタイルでコントロールを描画する必要があります。

Windows 8より前のバージョンWindowsの場合、アプリケーションでは通常、カスタム コントロールと所有者描画コントロールを描画するための 2 つの個別のコード パスを指定する必要があります。 1 つのコード パスは、ビジュアル スタイルを使用するテーマがアクティブな場合にコントロールを描画し、別のコード パスは、Windowsクラシック テーマまたはハイ コントラスト テーマがアクティブな場合にコントロールを描画します。 ただし、Windows 8では、ビジュアル スタイルは常にオンになっているため、個別のテーマ コード パスは必要ありません。 Windows 8用にマニフェストされたアプリケーションは、"無料" というハイ コントラストのテーマになります。詳細については、「ハイ コントラスト テーマのサポート」を参照してください。

詳細については、「 カスタム コントロールと Owner-Drawn コントロールと Visual スタイル リファレンスで Visual スタイルを使用するを参照してください

Visual スタイル