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 |
---|---|
|
Gibt einen DC zurück, der dem Fensterrechteck und nicht dem Clientrechteck entspricht. |
|
Gibt einen DC aus dem Cache anstelle des FENSTERs OWNDC oder CLASSDC zurück. Im Wesentlichen überschreibt CS_OWNDC und CS_CLASSDC. |
|
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. |
|
Schließt die sichtbaren Bereiche aller gleichgeordneten Fenster über dem von hWnd identifizierten Fenster aus. |
|
Schließt die sichtbaren Bereiche aller untergeordneten Fenster unterhalb des von hWnd identifizierten Fensters aus. |
|
Dieses Flag wird ignoriert. |
|
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. |
|
Der durch hrgnClip identifizierte Abschneidebereich wird aus dem sichtbaren Bereich des zurückgegebenen DC ausgeschlossen. |
|
Der durch hrgnClip identifizierte Abschneidebereich wird mit dem sichtbaren Bereich des zurückgegebenen DC überschnitten. |
|
Reserviert; nicht verwenden. |
|
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 |