Compartilhar via


Método IDCompositionVisual::SetEffect (dcomp.h)

Define a propriedade Effect desse visual. A propriedade Effect modifica como a subárvore com raiz nesse visual é combinada com a tela de fundo e pode aplicar uma transformação de perspectiva 3D ao visual.

Sintaxe

HRESULT SetEffect(
  [in, optional] IDCompositionEffect *effect
);

Parâmetros

[in, optional] effect

Tipo: IDCompositionEffect*

Um ponteiro para um objeto de efeito. Este parâmetro pode ser NULL.

Valor retornado

Tipo: HRESULT

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

Esse método cria uma superfície implícita fora da tela à qual a subárvore com raiz nesse visual é composta. A superfície é usada como uma das entradas para o efeito especificado. A saída do efeito é composta diretamente para o destino de composição. Alguns efeitos também usam o destino de composição como outra entrada implícita. Normalmente, esse é o caso de efeitos composicionais ou de combinação, como opacidade, em que o destino de composição é considerado a "tela de fundo". Nesse caso, todos os visuais que estão "atrás" do visual atual são incluídos no destino de composição quando o visual atual é renderizado e são considerados a "tela de fundo" à qual esse visual compõe.

Se esse visual não for a raiz de uma árvore visual e um de seus ancestrais também tiver um efeito aplicado a ela, a superfície fora da tela criada pelo ancestral mais próximo será o destino de composição ao qual o efeito desse visual é composto. Caso contrário, o destino de composição é o destino de composição raiz. Como consequência, a tela de fundo para efeitos de composição e mesclagem inclui apenas os visuais até o ancestral mais próximo que tem um efeito. Por outro lado, todos os efeitos aplicados aos visuais no visual atual usam a superfície fora da tela recém-criada como plano de fundo, o que pode afetar como esses visuais, em última análise, compõem sobre o que o usuário final percebe como sendo "por trás" desses visuais.

Se o parâmetro de efeito for NULL, nenhum efeito de bitmap será aplicado a esse visual. Todos os efeitos anteriores associados a esse visual são removidos. A superfície fora da tela também é removida e a subárvore visual é composta diretamente para o destino de composição pai, o que também pode afetar a forma como os efeitos de composição ou mesclagem sob esse visual são renderizados.

Esse método falhará se o efeito for um ponteiro inválido ou se não tiver sido criado pela mesma interface IDCompositionDevice que criou esse visual. A interface não pode ser uma implementação personalizada; somente as interfaces criadas pelo Microsoft DirectComposition podem ser usadas com esse método.

Requisitos

   
Cliente mínimo com suporte Windows 8 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho dcomp.h
Biblioteca Dcomp.lib
DLL Dcomp.dll

Confira também

IDCompositionEffect

IDCompositionEffectGroup

IDCompositionMatrixTransform3D

IDCompositionRotateTransform3D

IDCompositionScaleTransform3D

IDCompositionTranslateTransform3D

IDCompositionVisual