Partager via


Fonction DrawThemeBackground (uxtheme.h)

Dessine la bordure et le remplissage définis par le style visuel pour la partie de contrôle spécifiée.

Syntaxe

HRESULT DrawThemeBackground(
  [in] HTHEME  hTheme,
  [in] HDC     hdc,
  [in] int     iPartId,
  [in] int     iStateId,
  [in] LPCRECT pRect,
  [in] LPCRECT pClipRect
);

Paramètres

[in] hTheme

Type : HTHEME

Gérez les données de thème spécifiées d’une fenêtre. Utilisez OpenThemeData pour créer un HTHEME.

[in] hdc

Type : HDC

HDC utilisé pour dessiner l’image d’arrière-plan définie par thème.

[in] iPartId

Type : int

Valeur de type int qui spécifie la partie à dessiner. Consultez Parties et états.

[in] iStateId

Type : int

Valeur de type int qui spécifie l’état de la partie à dessiner. Consultez Parties et états.

[in] pRect

Type : const RECT*

Pointeur vers une structure RECT qui contient le rectangle, en coordonnées logiques, dans lequel l’image d’arrière-plan est dessinée.

[in] pClipRect

Type : const RECT*

Pointeur vers une structure RECT qui contient un rectangle de découpage. Ce paramètre peut être défini sur NULL.

Valeur retournée

Type : HRESULT

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Les opérations de dessin sont mises à l’échelle pour s’adapter au rectangle spécifié dans pRect et ne pas dépasser. Votre application ne doit pas dessiner en dehors du rectangle spécifié par pClipRect.

Exemples

Avant d’appeler DrawThemeBackground pour dessiner l’image d’arrière-plan d’une fenêtre, vous pouvez appeler IsThemeBackgroundPartiallyTransparent. Cette méthode détermine si DrawThemeParentBackground doit être appelé pour dessiner des arrière-plans derrière des contrôles enfants partiellement transparents ou alpha-mélangés, et est illustré dans l’exemple suivant.

if (_hTheme)
{
  if (IsThemeBackgroundPartiallyTransparent(_hTheme, BP_PUSHBUTTON, _iStateId))
  {
    DrawThemeParentBackground(_hwnd, hdcPaint, prcPaint);
  }

  DrawThemeBackground(_hTheme,
                    hdcPaint,
                    BP_PUSHBUTTON,
                    _iStateId,
                    &rcClient,
                    prcPaint);
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête uxtheme.h
Bibliothèque UxTheme.lib
DLL UxTheme.dll

Voir aussi

Identificateurs de propriété