共用方式為


drvMovePointer 函式 (winddi.h)

DrvMovePointer 函式會將指標移至新位置,並確保 GDI 不會干擾指標的顯示。

語法

void DrvMovePointer(
  [in] SURFOBJ *pso,
  [in] LONG    x,
  [in] LONG    y,
  [in] RECTL   *prcl
);

參數

[in] pso

描述顯示裝置表面之 SURFOBJ 結構的指標。

[in] x

在顯示器上指定 x 座標,驅動程式應該放置指標的作用點。

x 值表示驅動程式應該從顯示器移除指標,因為繪圖即將發生目前所在的位置。 如果指標已從顯示器中移除,且 x 值不是負值,驅動程式應該還原指標。

[in] y

指定驅動程式應該放置指標作用點之顯示器上的 Y 座標。

當驅動程式在 DEVINFO 結構中設定GCAPS_PANNING旗標時,負 y 值表示 GDI 只會呼叫此函式,以通知驅動程式游標的目前位置。 目前的位置可以計算為 x、y+pso-sizlBitmap.cy) > (。 未設定GCAPS_PANNING旗標的驅動程序永遠不會收到負 Y 座標。

[in] prcl

RECTL 結構的指標,定義區域,此區域會系結受顯示器上指標影響的所有圖元。 GDI 不會在此矩形中繪製,而不需要先從畫面移除指標。 此參數可以是 Null

傳回值

備註

驅動程式有時需要知道指標在畫面上的目前位置 - 即使 GDI 模擬指標 (如此驅動程式就不會再呼叫一般的 DrvMovePointer 呼叫) - 來處理行動瀏覽虛擬顯示器。 若要接收此通知,驅動程式應該在 DEVINFO 結構的 flGraphicsCaps 字段中設定GCAPS_PANNING旗標。

除非在 DEVINFO 的 flGraphicsCaps 成員中設定了 GCAPS_ASYNCMOVE 旗標,否則不會呼叫 DrvMovePointer

只有在同時實作DrvSetPointerShape時,才能在顯示驅動程序中實作DrvMovePointer

如果驅動程式已使用 DrvSetPointerShape註冊指定的指標, DrvMovePointer 不得失敗。

規格需求

需求
目標平台 桌面
標頭 winddi.h (包含Winddi.h)

另請參閱

DEVINFO

DrvSetPointerShape

SURFOBJ