Función GetDCEx (winuser.h)

La función GetDCEx recupera un identificador de un contexto de dispositivo (DC) para el área cliente de una ventana especificada o para toda la pantalla. Puede usar el identificador devuelto en las funciones GDI posteriores para dibujar en el controlador de dominio. El contexto del dispositivo es una estructura de datos opaca, cuyos valores usan internamente GDI.

Esta función es una extensión de la función GetDC , que proporciona a una aplicación más control sobre cómo y si el recorte se produce en el área cliente.

Sintaxis

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

Parámetros

[in] hWnd

Identificador de la ventana cuyo controlador de dominio se va a recuperar. Si este valor es NULL, GetDCEx recupera el controlador de dominio para toda la pantalla.

[in] hrgnClip

Región de recorte que se puede combinar con la región visible del controlador de dominio. Si el valor de las marcas es DCX_INTERSECTRGN o DCX_EXCLUDERGN, el sistema operativo asume la propiedad de la región y lo eliminará automáticamente cuando ya no sea necesario. En este caso, la aplicación no debe usar ni eliminar la región después de una llamada correcta a GetDCEx.

[in] flags

Especifica cómo se crea el controlador de dominio. Este parámetro puede ser uno o más de los siguientes valores.

Valor Significado
DCX_WINDOW
Devuelve un controlador de dominio que corresponde al rectángulo de ventana en lugar del rectángulo del cliente.
DCX_CACHE
Devuelve un controlador de dominio de la memoria caché, en lugar de la ventana OWNDC o CLASSDC. Básicamente invalida CS_OWNDC y CS_CLASSDC.
DCX_PARENTCLIP
Usa la región visible de la ventana primaria. Se omiten los bits de estilo WS_CLIPCHILDREN y CS_PARENTDC primarios. El origen se establece en la esquina superior izquierda de la ventana identificada por hWnd.
DCX_CLIPSIBLINGS
Excluye las regiones visibles de todas las ventanas del mismo nivel por encima de la ventana identificada por hWnd.
DCX_CLIPCHILDREN
Excluye las regiones visibles de todas las ventanas secundarias debajo de la ventana identificada por hWnd.
DCX_NORESETATTRS
Esta marca se omite.
DCX_LOCKWINDOWUPDATE
Permite dibujar incluso si hay una llamada LockWindowUpdate en vigor que, de lo contrario, excluiría esta ventana. Se usa para dibujar durante el seguimiento.
DCX_EXCLUDERGN
La región de recorte identificada por hrgnClip se excluye de la región visible del controlador de dominio devuelto.
DCX_INTERSECTRGN
La región de recorte identificada por hrgnClip se interseca con la región visible del controlador de dominio devuelto.
DCX_INTERSECTUPDATE
Reservado; no usar.
DCX_VALIDATE
Reservado; no usar.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es el identificador del controlador de dominio de la ventana especificada.

Si la función no se realiza correctamente, el valor devuelto es NULL. Un valor no válido para el parámetro hWnd hará que se produzca un error en la función.

Comentarios

A menos que el controlador de dominio para mostrar pertenezca a una clase de ventana, se debe llamar a la función ReleaseDC para liberar el controlador de dominio después de pintar. Además, se debe llamar a ReleaseDC desde el mismo subproceso que llamó a GetDCEx. El número de controladores de dominio solo está limitado por la memoria disponible.

La función devuelve un identificador a un controlador de dominio que pertenece a la clase de la ventana si CS_CLASSDC, CS_OWNDC o CS_PARENTDC se especificó como un estilo en la estructura WNDCLASS cuando se registró la clase.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winuser.h (incluya Windows.h)
Library User32.lib
Archivo DLL User32.dll

Consulte también

BeginPaint

Funciones de contexto de dispositivo

Información general sobre contextos de dispositivo

GetWindowDC

ReleaseDC

WNDCLASS