DrawThemeBackground 関数 (uxtheme.h)
指定したコントロール パーツの表示スタイルで定義された罫線と塗りつぶしを描画します。
構文
HRESULT DrawThemeBackground(
[in] HTHEME hTheme,
[in] HDC hdc,
[in] int iPartId,
[in] int iStateId,
[in] LPCRECT pRect,
[in] LPCRECT pClipRect
);
パラメーター
[in] hTheme
種類: HTHEME
ウィンドウの指定したテーマ データを処理します。 OpenThemeData を使用して HTHEME を作成します。
[in] hdc
種類: HDC
テーマ定義の背景画像を描画するために使用される HDC。
[in] iPartId
型: int
描画するパーツを指定する int 型の値。 「パーツと状態」を参照してください。
[in] iStateId
型: int
描画するパーツの状態を指定する int 型の値。 「パーツと状態」を参照してください。
[in] pRect
型: const RECT*
背景イメージが描画される四角形を論理座標で含む RECT 構造体へのポインター。
[in] pClipRect
型: const RECT*
クリッピング四角形を含む RECT 構造体へのポインター。 このパラメーターは NULL に設定できます。
戻り値
種類: HRESULT
この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。
注釈
描画操作は、 pRect で指定された四角形を超えないように拡大縮小されます。 アプリケーションは 、pClipRect で指定された四角形の外側に描画しないでください。
例
DrawThemeBackground を呼び出してウィンドウの背景画像を描画する前に、IsThemeBackgroundPartiallyTransparent を呼び出します。 このメソッドは、部分的に透明な子コントロールまたはアルファ ブレンドの子コントロールの背後で背景を描画するために DrawThemeParentBackground を呼び出す必要があるかどうかを決定し、次の例で示します。
if (_hTheme)
{
if (IsThemeBackgroundPartiallyTransparent(_hTheme, BP_PUSHBUTTON, _iStateId))
{
DrawThemeParentBackground(_hwnd, hdcPaint, prcPaint);
}
DrawThemeBackground(_hTheme,
hdcPaint,
BP_PUSHBUTTON,
_iStateId,
&rcClient,
prcPaint);
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | uxtheme.h |
Library | UxTheme.lib |
[DLL] | UxTheme.dll |