SetWindowTheme 関数 (uxtheme.h)

ウィンドウで、クラスが通常使用するのとは異なるビジュアル スタイル情報のセットを使用します。

構文

HRESULT SetWindowTheme(
  [in] HWND    hwnd,
  [in] LPCWSTR pszSubAppName,
  [in] LPCWSTR pszSubIdList
);

パラメーター

[in] hwnd

種類: HWND

ビジュアル スタイル情報を変更するウィンドウを処理します。

[in] pszSubAppName

種類: LPCWSTR

呼び出し元のアプリケーションの名前の代わりに使用するアプリケーション名を含む文字列へのポインター。 このパラメーターが NULL の場合は、呼び出し元のアプリケーションの名前が使用されます。

[in] pszSubIdList

種類: LPCWSTR

ウィンドウの クラスによって渡された実際のリストの代わりに使用する CLSID 名のセミコロン区切りのリストを含む文字列へのポインター。 このパラメーターが NULL の場合は、呼び出し元クラスの ID リストが使用されます。

戻り値

型: HRESULT

この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。

注釈

テーマ マネージャーは、ビジュアル スタイルが後で変更された場合でも、ウィンドウの有効期間を通じて pszSubAppNamepszSubIdList の関連付けを保持します。 新しいビジュアル スタイルを見 つけて適用できるように、ウィンドウは SetWindowTheme 呼び出しの最後にWM_THEMECHANGED メッセージを送信します。

pszSubAppNamepszSubIdListNULL の場合、テーマ マネージャーは以前に適用した関連付けを削除します。 セクションエントリと一致しない空の文字列 (L" ") を指定することで、指定されたウィンドウに表示スタイルが適用されないようにすることができます。

次のコード例では、リスト ビュー コントロールに Windows エクスプローラー リストの外観を示します。

SetWindowTheme(hwndList, L"Explorer", NULL);

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー uxtheme.h
Library UxTheme.lib
[DLL] UxTheme.dll