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 方法中的 surface 指標來設定一或多個視覺效果的內容。 設定內容之後,只要視窗分層,視覺效果就會撰寫指定分層窗口的內容。 如果視窗未配置,則視窗內容會從組合樹狀結構的輸出中消失。 如果視窗稍後重新分層,只要窗口內容仍然與視覺效果相關聯,視窗內容就會重新出現。 如果視窗重設大小,則會重新撰寫受影響的視覺效果。
視窗的內容不會快取超過視窗的存留期。 也就是說,如果視窗已終結,受影響的視覺效果就會停止撰寫視窗。
如果視窗在螢幕外移動或重設大小為零,系統會停止撰寫這些視覺效果的內容。 當您需要隱藏原始視窗時,您應該使用 DwmSetWindowAttribute 函式搭配 DWMWA_CLOAK 旗標來「遮蔽」分層子窗口,同時讓系統繼續撰寫視覺效果的內容。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | dcomp.h |