Metodo IDCompositionVisual::SetEffect (dcomp.h)

Imposta la proprietà Effect di questo oggetto visivo. La proprietà Effect modifica il modo in cui il sottoalbero che è radicato in questo oggetto visivo viene unito allo sfondo e può applicare una trasformazione di prospettiva 3D all'oggetto visivo.

Sintassi

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

Parametri

[in, optional] effect

Tipo: IDCompositionEffect*

Puntatore a un oggetto effetto. Questo parametro può essere NULL.

Valore restituito

Tipo: HRESULT

Se la funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT . Per un elenco di codici di errore, vedere Codici di errore DirectComposition .

Commenti

Questo metodo crea una superficie di off-screen implicita a cui è composto il sottoalbero che è radicato in questo oggetto visivo. La superficie viene usata come uno degli input per l'effetto specificato. L'output dell'effetto è composto direttamente alla destinazione di composizione. Alcuni effetti usano anche la destinazione di composizione come un altro input implicito. Questo è in genere il caso degli effetti di composizione o fusione, ad esempio l'opacità, in cui la destinazione della composizione è considerata "sfondo". In tal caso, gli oggetti visivi che sono "dietro" l'oggetto visivo corrente vengono inclusi nella destinazione di composizione quando l'oggetto visivo corrente viene eseguito il rendering e vengono considerati "sfondo" a cui questo oggetto visivo si compone.

Se questo oggetto visivo non è la radice di un albero visivo e uno dei suoi predecessori ha anche un effetto applicato a esso, la superficie fuori schermo creata dal predecessore più vicino è la destinazione di composizione a cui è composto l'effetto dell'oggetto visivo. In caso contrario, la destinazione della composizione è la destinazione della composizione radice. Di conseguenza, lo sfondo per gli effetti di composizione e fusione include solo gli oggetti visivi fino al predecessore più vicino che se stesso ha un effetto. Al contrario, tutti gli effetti applicati agli oggetti visivi nell'oggetto visivo corrente usano la superficie fuori schermo appena creata come sfondo, che può influire sul modo in cui tali oggetti visivi in definitiva compongono in cima a ciò che l'utente finale percepisce come "dietro" tali oggetti visivi.

Se il parametro dell'effetto è NULL, non viene applicato alcun effetto bitmap a questo oggetto visivo. Tutti gli effetti precedenti associati a questo oggetto visivo vengono rimossi. La superficie fuori schermo viene rimossa anche e il sottoalbero visivo è composto direttamente alla destinazione di composizione padre, che può influire anche sul modo in cui vengono visualizzati gli effetti di composizione o fusione in questo oggetto visivo.

Questo metodo ha esito negativo se l'effetto è un puntatore non valido o se non è stato creato dallo stesso interfaccia IDCompositionDevice che ha creato questo oggetto visivo. L'interfaccia non può essere un'implementazione personalizzata; è possibile usare solo interfacce create da Microsoft DirectComposition con questo metodo.

Requisiti

   
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione dcomp.h
Libreria Dcomp.lib
DLL Dcomp.dll

Vedi anche

IDCompositionEffect

IDCompositionEffectGroup

IDCompositionMatrixTransform3D

IDCompositionRotateTransform3D

IDCompositionScaleTransform3D

IDCompositionTranslateTransform3D

IDCompositionVisual