次の方法で共有


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

こちらもご覧ください

プロパティ識別子