GetDCEx-Funktion (winuser.h)

Die GetDCEx-Funktion ruft ein Handle für einen Gerätekontext (DC) für den Clientbereich eines angegebenen Fensters oder für den gesamten Bildschirm ab. Sie können den zurückgegebenen Handle in nachfolgenden GDI-Funktionen verwenden, um im DC zu zeichnen. Der Gerätekontext ist eine undurchsichtige Datenstruktur, deren Werte intern von GDI verwendet werden.

Diese Funktion ist eine Erweiterung der GetDC-Funktion , die einer Anwendung mehr Kontrolle darüber gibt, wie und ob das Abschneiden im Clientbereich erfolgt.

Syntax

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

Parameter

[in] hWnd

Ein Handle für das Fenster, dessen DC abgerufen werden soll. Wenn dieser Wert NULL ist, ruft GetDCEx den DC für den gesamten Bildschirm ab.

[in] hrgnClip

Ein Abschneidebereich, der mit dem sichtbaren Bereich des DC kombiniert werden kann. Wenn der Wert von Flags DCX_INTERSECTRGN oder DCX_EXCLUDERGN ist, übernimmt das Betriebssystem den Besitz der Region und löscht sie automatisch, wenn sie nicht mehr benötigt wird. In diesem Fall sollte die Anwendung die Region nach einem erfolgreichen Aufruf von GetDCEx nicht verwenden oder löschen.

[in] flags

Gibt an, wie der DC erstellt wird. Dieser Parameter kann einen oder mehrere der folgenden Werte aufweisen.

Wert Bedeutung
DCX_WINDOW
Gibt einen DC zurück, der dem Fensterrechteck und nicht dem Clientrechteck entspricht.
DCX_CACHE
Gibt einen DC aus dem Cache anstelle des FENSTERs OWNDC oder CLASSDC zurück. Im Wesentlichen überschreibt CS_OWNDC und CS_CLASSDC.
DCX_PARENTCLIP
Verwendet den sichtbaren Bereich des übergeordneten Fensters. Die WS_CLIPCHILDREN und CS_PARENTDC Stilbits des übergeordneten Elements werden ignoriert. Der Ursprung wird auf die linke obere Ecke des von hWnd identifizierten Fensters festgelegt.
DCX_CLIPSIBLINGS
Schließt die sichtbaren Bereiche aller gleichgeordneten Fenster über dem von hWnd identifizierten Fenster aus.
DCX_CLIPCHILDREN
Schließt die sichtbaren Bereiche aller untergeordneten Fenster unterhalb des von hWnd identifizierten Fensters aus.
DCX_NORESETATTRS
Dieses Flag wird ignoriert.
DCX_LOCKWINDOWUPDATE
Ermöglicht das Zeichnen auch dann, wenn ein LockWindowUpdate-Aufruf wirksam ist, der andernfalls dieses Fenster ausschließen würde. Wird während der Nachverfolgung zum Zeichnen verwendet.
DCX_EXCLUDERGN
Der durch hrgnClip identifizierte Abschneidebereich wird aus dem sichtbaren Bereich des zurückgegebenen DC ausgeschlossen.
DCX_INTERSECTRGN
Der durch hrgnClip identifizierte Abschneidebereich wird mit dem sichtbaren Bereich des zurückgegebenen DC überschnitten.
DCX_INTERSECTUPDATE
Reserviert; nicht verwenden.
DCX_VALIDATE
Reserviert; nicht verwenden.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert das Handle für den DC für das angegebene Fenster.

Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL. Ein ungültiger Wert für den hWnd-Parameter führt dazu, dass die Funktion fehlschlägt.

Hinweise

Sofern der Anzeige-DC nicht zu einer Fensterklasse gehört, muss die ReleaseDC-Funktion aufgerufen werden, um den DC nach dem Malen freizugeben. Außerdem muss ReleaseDC aus demselben Thread aufgerufen werden, der GetDCEx genannt hat. Die Anzahl der DCs ist nur durch den verfügbaren Arbeitsspeicher begrenzt.

Die Funktion gibt ein Handle an einen DC zurück, der zur Klasse des Fensters gehört, wenn CS_CLASSDC, CS_OWNDC oder CS_PARENTDC als Formatvorlage in der WNDCLASS-Struktur angegeben wurde, als die Klasse registriert wurde.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (einschließlich Windows.h)
Bibliothek User32.lib
DLL User32.dll

Weitere Informationen

BeginPaint

Gerätekontextfunktionen

Übersicht über Gerätekontexte

GetWindowDC

ReleaseDC

WNDCLASS