共用方式為


EngControlSprites 函式 (winddi.h)

EngControlSprites 函式會在指定的 WNDOBJ 區域上卸載或重新繪製 Sprite。

語法

ENGAPI BOOL EngControlSprites(
  WNDOBJ *pwo,
  FLONG  fl
);

參數

pwo

要建置或卸除 Sprite 的 WNDOBJ 結構的指標。

fl

此參數可以是下列其中一個值:

ECS_TEARDOWN

要求 GDI 終止並移除與 WNDOBJ 區域重疊之任何 Sprite 的 Sprite 效果。 換句話說,GDI 會重繪具有中性效果的Sprite,因此在畫面上看不到Sprite。 GDI 會藉由立即呼叫 DrvCopyBits來還原Sprite下方的區域。

ECS_REDRAW

要求 GDI 重繪,還原與 WNDOBJ 區域重疊的任何 Sprite。 GDI 會透過呼叫 DrvCopyBits直接繪製到畫面。

傳回值

成功完成要求的作業時,EngControlSprites 會傳回 TRUE;否則會傳回 FALSE

備註

ECS_TEARDOWN調用可能是持續性的。 例如,驅動程式只要建立 WNDOBJ,就可以 ECS_TEARDOWN呼叫 EngControlSprites 一次,只要建立 WNDOBJ,就不會在視窗頂端繪製任何 Sprite。

驅動程式可以使用 ECS_REDRAW 多次呼叫 EngControlSprites ,而不需與 ECS_TEARDOWN 進行交涉呼叫,以便隨時強制重繪 Sprite。

ECS_TEARDOWN一律會強制立即重新繪製 WNDOBJ 區域上方的任何 Sprite。 GDI 會藉由呼叫 DrvCopyBits 從畫面複製它們,然後將Sprite複合到畫面上,藉由呼叫 DrvCopyBits來儲存Sprite下方的位。 這可用來允許在交換緩衝區命令透過 DrvSwapBuffers 或任何其他驅動程式交換緩衝區機制) 傳送至硬體 (之前,將sprite復合到後台緩衝區。 當視窗為雙緩衝時,這允許順暢地組合Sprite,而不閃爍。

ECS_TEARDOWN永遠不會造成傳送WOC_SPRITE_NO_OVERLAP訊息,同樣地,ECS_REDRAW永遠不會傳送WOC_SPRITE_OVERLAP訊息。

即使目前沒有 Sprite 重疊 WNDOBJ 區域,也可以呼叫 EngControlSprites

規格需求

需求
最低支援的用戶端 適用於 Windows 2000 和更新版本的 Windows 作業系統。
目標平台 Universal
標頭 winddi.h (包含Winddi.h)
程式庫 Win32k.lib
Dll Win32k.sys

另請參閱

EngCreateWnd

WNDOBJ