EngSetPointerShape 函式 (winddi.h)
EngSetPointerShape函式會設定呼叫驅動程式的指標圖形。
語法
ENGAPI ULONG EngSetPointerShape(
[in] SURFOBJ *pso,
[in] SURFOBJ *psoMask,
[in] SURFOBJ *psoColor,
[in] XLATEOBJ *pxlo,
[in] LONG xHot,
[in] LONG yHot,
[in] LONG x,
[in] LONG y,
[in] RECTL *prcl,
[in] FLONG fl
);
參數
[in] pso
SURFOBJ結構的指標,描述要繪製的介面。
[in] psoMask
SURFOBJ 結構的指標,定義要套用至指標點陣圖的 AND-XOR 遮罩。 點陣圖的上半部會指定單色 AND 遮罩,下半部則指定單色 XOR 遮罩。 指標的寬度與 psoMask 所指向遮罩高度的一半相同。 指標大小沒有隱含的條件約束,但最佳指標大小為 32 x 32、48 x 48 和 64 x 64 圖元。 如果此參數為 Null,則指標為透明。
[in] psoColor
SURFOBJ 結構的指標,定義色彩指標的色彩。 此點陣圖的寬度和 psoMask 點的點陣圖高度相同,且色彩格式與 pso 點的介面相同。 如果此參數為 Null,則指標為單色。
[in] pxlo
XLATEOBJ結構的指標,定義psoColor中的色彩。
[in] xHot
指定相對於指標左上方圖元之作用點的 X 座標。 作用點所指示的圖元應該位於新的指標位置。
[in] yHot
指定指標作用點相對於其左上方圖元的 Y 座標。 作用點所指示的圖元應該位於新的指標位置。
[in] x
指定新指標位置的 x 座標。
[in] y
指定新指標位置的 Y 座標。
[in] prcl
RECTL結構的指標。 如果為非Null,驅動程式提供了一個矩形,此矩形會限定顯示上指標所影響的所有圖元。 GDI 可避免在此矩形上繪製,而不需要先將指標移出。
[in] fl
指定 GDI 應該用來處理此呼叫的一組旗標。 此參數可以是下列一或多個預先定義的值:
旗標 | 意義 |
---|---|
SPS_ANIMATESTART | GDI 應該準備好接收一系列類似大小的指標圖形,以組成動畫指標效果。 |
SPS_ANIMATEUPDATE | GDI 應該繪製動畫數列中的下一個指標圖形。 |
SPS_CHANGE | 要求 GDI 變更指標圖形。 |
傳回值
EngSetPointerShape 會傳回下列其中一個值:
傳回碼 | 描述 |
---|---|
|
GDI 接受圖形。 GDI 不會讀取或寫入以 中國撰寫 的矩形,而不需要先將指標移出方向。 |
|
GDI 通常支援此圖形,但因為不尋常的原因而失敗。 |
備註
驅動程式可以呼叫 EngSetPointerShape ,讓 GDI 管理軟體資料指標。
psoMask指向的單色點陣圖有兩個部分。 第一個部分會定義指標的 AND 遮罩,而第二個部分則定義 XOR 遮罩。 結合在一起,這些遮罩會為指標影像的每個圖元提供兩個位資訊。 下列事實資料表會決定 AND 和 XOR 遮罩中不同值的顯示器上所繪製的 GDI:
AND 值 | XOR 值 | 結果圖元 |
---|---|---|
0 | 0 | 白色 |
0 | 1 | 黑色 |
1 | 0 | 圖元沒有變更 |
1 | 1 | 圖元色彩反轉 |
這項機制提供黑白影像,同時允許透明度和反轉組成指標的圖元。
規格需求
最低支援的用戶端 | 適用于 Windows 2000 和更新版本的 Windows 作業系統。 |
目標平台 | Universal |
標頭 | winddi.h (包含 Winddi.h) |
程式庫 | Win32k.lib |
Dll | Win32k.sys |