Compartilhar via


Método IDCompositionDesktopDevice::CreateSurfaceFromHwnd (dcomp.h)

Cria um objeto wrapper que representa a rasterização de uma janela em camadas e que pode ser associado a um visual para composição.

Sintaxe

HRESULT CreateSurfaceFromHwnd(
  [in]  HWND     hwnd,
  [out] IUnknown **surface
);

Parâmetros

[in] hwnd

O identificador da janela em camadas para a qual criar um wrapper. Uma janela em camadas é criada especificando WS_EX_LAYERED ao criar a janela com a função CreateWindowEx ou definindo WS_EX_LAYERED por meio de SetWindowLong após a criação da janela.

[out] surface

O novo objeto de superfície de composição. Esse parâmetro não deve ser NULL.

Retornar valor

Se a função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT. Consulte Códigos de Erro do DirectComposition para obter uma lista de códigos de erro.

Comentários

Você pode usar o ponteiro de superfície em chamadas para o método IDCompositionVisual::SetContent para definir o conteúdo de um ou mais visuais. Depois de definir o conteúdo, os visuais compõem o conteúdo da janela em camadas especificada, desde que a janela esteja em camadas. Se a janela estiver descamada, o conteúdo da janela desaparecerá da saída da árvore de composição. Se a janela for recamadas posteriormente, o conteúdo da janela reaparecerá, desde que ainda esteja associado a um visual. Se a janela for redimensionada, os visuais afetados serão redimensionados.

O conteúdo da janela não é armazenado em cache além da vida útil da janela. Ou seja, se a janela for destruída, os visuais afetados param de redigir a janela.

Se a janela for movida para fora da tela ou redimensionada para zero, o sistema deixará de redigir o conteúdo desses visuais. Você deve usar a função DwmSetWindowAttribute com o sinalizador DWMWA_CLOAK para "camuflar" a janela filho em camadas quando precisar ocultar a janela original, permitindo que o sistema continue a compor o conteúdo dos visuais.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho dcomp.h

Confira também

IDCompositionDesktopDevice

IDCompositionVisual::SetContent