IDCompositionDesktopDevice::CreateSurfaceFromHwnd 메서드(dcomp.h)
계층화된 창의 래스터화를 나타내고 컴퍼지션을 위해 시각적 개체와 연결할 수 있는 래퍼 개체를 만듭니다.
HRESULT CreateSurfaceFromHwnd(
[in] HWND hwnd,
[out] IUnknown **surface
);
[in] hwnd
래퍼를 만들 계층화된 창의 핸들입니다. CreateWindowEx 함수를 사용하여 창을 만들 때 WS_EX_LAYERED 지정하거나 창을 만든 후 SetWindowLong을 통해 WS_EX_LAYERED 설정하여 계층화된 창을 만듭니다.
[out] surface
새 컴퍼지션 표면 개체입니다. 이 매개 변수는 NULL이 아니어야 합니다.
함수가 성공하면 S_OK를 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다. 오류 코드 목록은 DirectComposition 오류 코드를 참조하세요.
IDCompositionVisual::SetContent 메서드를 호출할 때 표면 포인터를 사용하여 하나 이상의 시각적 개체의 콘텐츠를 설정할 수 있습니다. 콘텐츠를 설정한 후 시각적 개체는 창이 계층화되는 한 지정된 계층화된 창의 콘텐츠를 구성합니다. 창이 계층화되지 않으면 창 내용이 컴퍼지션 트리의 출력에서 사라집니다. 창이 나중에 다시 계층화되면 창 콘텐츠가 시각적 개체와 연결되어 있는 한 다시 나타납니다. 창 크기가 조정되면 영향을 받는 시각적 개체가 다시 구성됩니다.
창의 내용은 창의 수명 이후 캐시되지 않습니다. 즉, 창이 제거되면 영향을 받는 시각적 개체가 창 작성을 중지합니다.
창이 화면 을 벗어나거나 크기가 0으로 조정되면 시스템에서 해당 시각적 개체의 콘텐츠 구성을 중지합니다. 시스템에서 시각적 개체의 콘텐츠를 계속 작성할 수 있도록 하면서 원래 창을 숨겨야 하는 경우 DwmSetWindowAttribute 함수를 DWMWA_CLOAK 플래그와 함께 사용하여 계층화된 자식 창을 "은폐"해야 합니다.
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | dcomp.h |