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
IDCompositionMatrixTransform3D
IDCompositionRotateTransform3D