IDCompositionVisual::SetEffect 메서드(dcomp.h)

이 시각적 개체의 Effect 속성을 설정합니다. Effect 속성은 이 시각적 개체에 루팅된 하위 트리가 배경과 혼합되는 방식을 수정하고 시각적 개체에 3D 원근 변환을 적용할 수 있습니다.

구문

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

매개 변수

[in, optional] effect

형식: IDCompositionEffect*

효과 개체에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다.

반환 값

형식: HRESULT

함수가 성공하면 S_OK를 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다. 오류 코드 목록은 DirectComposition 오류 코드를 참조하세요.

설명

이 메서드는 이 시각적 개체에 루팅된 하위 트리가 구성되는 암시적 오프 스크린 화면을 만듭니다. 표면은 지정된 효과에 대한 입력 중 하나로 사용됩니다. 효과의 출력은 컴퍼지션 대상에 직접 구성됩니다. 또한 일부 효과는 컴퍼지션 대상을 다른 암시적 입력으로 사용합니다. 이는 일반적으로 컴퍼지션 대상이 "배경"으로 간주되는 불투명도와 같은 컴퍼지션 또는 혼합 효과의 경우입니다. 이 경우 현재 시각적 개체가 렌더링되고 이 시각적 개체가 구성하는 "배경"으로 간주될 때 현재 시각적 개체가 "뒤"인 모든 시각적 개체가 컴퍼지션 대상에 포함됩니다.

이 시각적 개체가 시각적 트리의 루트가 아니고 상위 항목 중 하나에도 효과가 적용된 경우 가장 가까운 상위 항목이 만든 화면 화면 화면은 이 시각적 개체의 효과가 구성되는 컴퍼지션 대상입니다. 그렇지 않으면 컴퍼지션 대상이 루트 컴퍼지션 대상입니다. 결과적으로 컴퍼지션 및 혼합 효과의 배경에는 가장 가까운 상위 항목까지의 시각적 개체만 포함됩니다. 반대로, 현재 시각적 개체 아래의 시각적 개체에 적용된 모든 효과는 새로 만든 화면 을 배경으로 사용하며, 이는 최종 사용자가 해당 시각적 개체를 "숨김"으로 인식하는 것을 기반으로 해당 시각적 개체를 구성하는 방법에 영향을 줄 수 있습니다.

효과 매개 변수가 NULL이면 이 시각적 개체에 비트맵 효과가 적용되지 않습니다. 이 시각적 개체와 연결된 이전의 모든 효과는 제거됩니다. 화면 끄기 화면도 제거되고 시각적 하위 트리가 부모 컴퍼지션 대상에 직접 구성되므로 이 시각적 개체의 컴퍼지션 또는 혼합 효과가 렌더링되는 방식에도 영향을 줄 수 있습니다.

효과가 잘못된 포인터이거나 이 시각적 개체를 만든 동일한 IDCompositionDevice 인터페이스에서 만들지 않은 경우 이 메서드는 실패합니다. 인터페이스는 사용자 지정 구현일 수 없습니다. Microsoft DirectComposition에서 만든 인터페이스만 이 메서드와 함께 사용할 수 있습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 dcomp.h
라이브러리 Dcomp.lib
DLL Dcomp.dll

추가 정보

IDCompositionEffect

IDCompositionEffectGroup

IDCompositionMatrixTransform3D

IDCompositionRotateTransform3D

IDCompositionScaleTransform3D

IDCompositionTranslateTransform3D

IDCompositionVisual