GetDCEx, fonction (winuser.h)

La fonction GetDCEx récupère un handle dans un contexte d’appareil (DC) pour la zone cliente d’une fenêtre spécifiée ou pour l’ensemble de l’écran. Vous pouvez utiliser le handle retourné dans les fonctions GDI suivantes pour dessiner dans le contrôleur de domaine. Le contexte de l’appareil est une structure de données opaque, dont les valeurs sont utilisées en interne par GDI.

Cette fonction est une extension de la fonction GetDC , qui permet à une application de mieux contrôler comment et si le découpage se produit dans la zone cliente.

Syntaxe

HDC GetDCEx(
  [in] HWND  hWnd,
  [in] HRGN  hrgnClip,
  [in] DWORD flags
);

Paramètres

[in] hWnd

Handle de la fenêtre dont le contrôleur de domaine doit être récupéré. Si cette valeur est NULL, GetDCEx récupère le contrôleur de domaine pour l’ensemble de l’écran.

[in] hrgnClip

Zone de découpage qui peut être combinée avec la région visible du contrôleur de domaine. Si la valeur des indicateurs est DCX_INTERSECTRGN ou DCX_EXCLUDERGN, le système d’exploitation assume la propriété de la région et la supprime automatiquement quand elle n’est plus nécessaire. Dans ce cas, l’application ne doit pas utiliser ou supprimer la région après un appel réussi à GetDCEx.

[in] flags

Spécifie la façon dont le contrôleur de domaine est créé. Ce paramètre peut prendre une ou plusieurs des valeurs suivantes.

Valeur Signification
DCX_WINDOW
Retourne un contrôleur de domaine qui correspond au rectangle de fenêtre plutôt qu’au rectangle client.
DCX_CACHE
Retourne un contrôleur de domaine à partir du cache, plutôt que de la fenêtre OWNDC ou CLASSDC. Remplace essentiellement CS_OWNDC et CS_CLASSDC.
DCX_PARENTCLIP
Utilise la zone visible de la fenêtre parente. Les bits de style WS_CLIPCHILDREN et CS_PARENTDC du parent sont ignorés. L’origine est définie sur le coin supérieur gauche de la fenêtre identifiée par hWnd.
DCX_CLIPSIBLINGS
Exclut les régions visibles de toutes les fenêtres frères au-dessus de la fenêtre identifiée par hWnd.
DCX_CLIPCHILDREN
Exclut les régions visibles de toutes les fenêtres enfants sous la fenêtre identifiée par hWnd.
DCX_NORESETATTRS
Cet indicateur est ignoré.
DCX_LOCKWINDOWUPDATE
Autorise le dessin même s’il existe un appel LockWindowUpdate en vigueur qui exclurait autrement cette fenêtre. Utilisé pour dessiner pendant le suivi.
DCX_EXCLUDERGN
La zone de découpage identifiée par hrgnClip est exclue de la région visible du contrôleur de domaine retourné.
DCX_INTERSECTRGN
La zone de découpage identifiée par hrgnClip est croisée avec la région visible du contrôleur de domaine retourné.
DCX_INTERSECTUPDATE
Réservé ; ne pas utiliser.
DCX_VALIDATE
Réservé ; ne pas utiliser.

Valeur retournée

Si la fonction réussit, la valeur de retour est le handle du contrôleur de domaine pour la fenêtre spécifiée.

Si la fonction échoue, la valeur de retour est NULL. Une valeur non valide pour le paramètre hWnd entraîne l’échec de la fonction.

Remarques

Sauf si le contrôleur de domaine d’affichage appartient à une classe de fenêtre, la fonction ReleaseDC doit être appelée pour libérer le contrôleur de domaine après la peinture. En outre, ReleaseDC doit être appelé à partir du thread qui a appelé GetDCEx. Le nombre de contrôleurs de domaine est limité uniquement par la mémoire disponible.

La fonction retourne un handle à un contrôleur de domaine qui appartient à la classe de la fenêtre si CS_CLASSDC, CS_OWNDC ou CS_PARENTDC a été spécifié en tant que style dans la structure WNDCLASS lors de l’inscription de la classe.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll

Voir aussi

BeginPaint

Fonctions de contexte de l’appareil

Vue d’ensemble des contextes d’appareil

GetWindowDC

ReleaseDC

WNDCLASS