共用方式為


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::BltIDirectDrawSurface7::BltBatchIDirectDrawSurface7::UpdateOverlay 作業。 SetClipper 也可以卸離 DirectDrawSurface 物件的目前 DirectDrawClipper 物件。

需求

   
目標平台 Windows
標頭 ddraw.h
程式庫 Ddraw.lib
Dll Ddraw.dll

另請參閱

IDirectDrawSurface7