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

Establece la propiedad Effect de este objeto visual. La propiedad Effect modifica la forma en que el subárbol que se basa en este objeto visual se combina con el fondo y puede aplicar una transformación de perspectiva 3D al objeto visual.

Sintaxis

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

Parámetros

[in, optional] effect

Tipo: IDCompositionEffect*

Puntero a un objeto de efecto. Este parámetro puede ser NULL.

Valor devuelto

Tipo: HRESULT

Si la función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT. Consulte Códigos de error de DirectComposition para obtener una lista de códigos de error.

Comentarios

Este método crea una superficie implícita fuera de la pantalla en la que se compone el subárbol que se basa en este objeto visual. La superficie se usa como una de las entradas para el efecto especificado. La salida del efecto se compone directamente en el destino de composición. Algunos efectos también usan el destino de composición como otra entrada implícita. Esto suele ser el caso de efectos de composición o mezcla, como opacidad, donde el destino de composición se considera el "fondo". En ese caso, los objetos visuales que están "detrás" del objeto visual actual se incluyen en el destino de composición cuando se representa el objeto visual actual y se consideran el "fondo" en el que se compone este objeto visual.

Si este objeto visual no es la raíz de un árbol visual y uno de sus antecesores también tiene un efecto aplicado, la superficie fuera de pantalla creada por el antecesor más cercano es el destino de composición al que se compone el efecto de este objeto visual. De lo contrario, el destino de composición es el destino de composición raíz. Como consecuencia, el fondo de los efectos de composición y mezcla incluye solo los objetos visuales hasta el antecesor más cercano que tiene un efecto. Por el contrario, los efectos aplicados a los objetos visuales en el objeto visual actual usan la superficie fuera de pantalla recién creada como fondo, lo que puede afectar a la forma en que esos objetos visuales se componen en última instancia de lo que el usuario final percibe como "detrás" de esos objetos visuales.

Si el parámetro effect es NULL, no se aplica ningún efecto de mapa de bits a este objeto visual. Se quitan los efectos anteriores asociados a este objeto visual. La superficie fuera de la pantalla también se quita y el subárbol visual se compone directamente en el destino de composición principal, lo que también puede afectar a la forma en que se representan los efectos de composición o mezcla en este objeto visual.

Este método produce un error si el efecto es un puntero no válido o si no lo creó la misma interfaz IDCompositionDevice que creó este objeto visual. La interfaz no puede ser una implementación personalizada; solo se pueden usar interfaces creadas por Microsoft DirectComposition con este método.

Requisitos

   
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado dcomp.h
Library Dcomp.lib
Archivo DLL Dcomp.dll

Consulte también

IDCompositionEffect

IDCompositionEffectGroup

IDCompositionMatrixTransform3D

IDCompositionRotateTransform3D

IDCompositionScaleTransform3D

IDCompositionTranslateTransform3D

IDCompositionVisual