IDirectDrawSurface7::SetClipper 方法 (ddraw.h)
將 Clipper 物件附加至這個表面,或從中刪除一個。
語法
HRESULT SetClipper(
[in] LPDIRECTDRAWCLIPPER unnamedParam1
);
參數
[in] unnamedParam1
要附加至 DirectDrawSurface 物件的 DirectDrawClipper 物件的 IDirectDrawClipper 介面指標。 如果您將此參數設定為 Null,則目前的 DirectDrawClipper 物件會中斷連結。
傳回值
如果方法成功,傳回值會DD_OK。
如果失敗,方法可以傳回下列其中一個錯誤值:
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_INVALIDSURFACETYPE
- DDERR_NOCLIPPERATTACHED
備註
當您第一次將裁剪器設定為表面時, SetClipper 會遞增剪輯器的參考計數;後續呼叫不會影響 clipper 的參考計數。 如果您傳遞 Null 做為 lpDDClipper 參數,則會從表面移除 clipper,而且裁剪器的參考計數會遞減。 如果您未刪除裁剪器,當釋放表面本身時,介面會自動釋放其對裁剪工具的參考。 根據 COM 規則,當不再需要物件時,您的應用程式必須釋放它保留給 Clipper 的任何參考。
SetClipper 主要是由重載或位到主要表面的介面使用。 不過,它可以在任何表面上使用。 附加 DirectDrawClipper 物件且剪輯清單與其相關聯之後,DirectDrawClipper 物件會用於 包含父 DirectDrawSurface 物件的 IDirectDrawSurface7::Blt、 IDirectDrawSurface7::BltBatch和 IDirectDrawSurface7::UpdateOverlay 作業。 SetClipper 也可以卸離 DirectDrawSurface 物件的目前 DirectDrawClipper 物件。
需求
目標平台 | Windows |
標頭 | ddraw.h |
程式庫 | Ddraw.lib |
Dll | Ddraw.dll |