Função GetDCEx (winuser.h)

A função GetDCEx recupera um identificador para um DC (contexto de dispositivo) para a área de cliente de uma janela especificada ou para toda a tela. Você pode usar o identificador retornado em funções GDI subsequentes para desenhar no DC. O contexto do dispositivo é uma estrutura de dados opaca, cujos valores são usados internamente pela GDI.

Essa função é uma extensão para a função GetDC , que dá a um aplicativo mais controle sobre como e se o recorte ocorre na área do cliente.

Sintaxe

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

Parâmetros

[in] hWnd

Um identificador para a janela cujo DC deve ser recuperado. Se esse valor for NULL, GetDCEx recuperará o DC para toda a tela.

[in] hrgnClip

Uma região de recorte que pode ser combinada com a região visível do DC. Se o valor dos sinalizadores for DCX_INTERSECTRGN ou DCX_EXCLUDERGN, o sistema operacional assumirá a propriedade da região e o excluirá automaticamente quando não for mais necessário. Nesse caso, o aplicativo não deve usar ou excluir a região após uma chamada bem-sucedida para GetDCEx.

[in] flags

Especifica como o DC é criado. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
DCX_WINDOW
Retorna um DC que corresponde ao retângulo da janela em vez do retângulo do cliente.
DCX_CACHE
Retorna um DC do cache, em vez da janela OWNDC ou CLASSDC. Essencialmente substitui CS_OWNDC e CS_CLASSDC.
DCX_PARENTCLIP
Usa a região visível da janela pai. Os bits de estilo WS_CLIPCHILDREN e CS_PARENTDC pai são ignorados. A origem é definida como o canto superior esquerdo da janela identificada por hWnd.
DCX_CLIPSIBLINGS
Exclui as regiões visíveis de todas as janelas irmãos acima da janela identificada por hWnd.
DCX_CLIPCHILDREN
Exclui as regiões visíveis de todas as janelas filho abaixo da janela identificada por hWnd.
DCX_NORESETATTRS
Este sinalizador é ignorado.
DCX_LOCKWINDOWUPDATE
Permite desenhar mesmo se houver uma chamada LockWindowUpdate em vigor que, de outra forma, excluiria essa janela. Usado para desenhar durante o acompanhamento.
DCX_EXCLUDERGN
A região de recorte identificada por hrgnClip é excluída da região visível do DC retornado.
DCX_INTERSECTRGN
A região de recorte identificada por hrgnClip é interseccionada com a região visível do DC retornado.
DCX_INTERSECTUPDATE
Reservado; não use.
DCX_VALIDATE
Reservado; não use.

Retornar valor

Se a função for bem-sucedida, o valor retornado será o identificador para o controlador de domínio da janela especificada.

Se a função falhar, o valor retornado será NULL. Um valor inválido para o parâmetro hWnd fará com que a função falhe.

Comentários

A menos que o DC de exibição pertença a uma classe de janela, a função ReleaseDC deve ser chamada para liberar o DC após a pintura. Além disso, ReleaseDC deve ser chamado do mesmo thread que chamou GetDCEx. O número de DCs é limitado apenas pela memória disponível.

A função retorna um identificador para um DC que pertence à classe da janela se CS_CLASSDC, CS_OWNDC ou CS_PARENTDC foi especificado como um estilo na estrutura WNDCLASS quando a classe foi registrada.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll

Confira também

Beginpaint

Funções de contexto do dispositivo

Visão geral dos contextos do dispositivo

Getwindowdc

Releasedc

WNDCLASS