IDirect3DDevice9::SetCursorProperties 方法 (d3d9.h)
設定資料指標的屬性。
語法
HRESULT SetCursorProperties(
[in] UINT XHotSpot,
[in] UINT YHotSpot,
[in] IDirect3DSurface9 *pCursorBitmap
);
參數
[in] XHotSpot
類型: UINT
以圖元為單位的 X 座標位移 (,) 標示游標的中心。 位移相對於游標的左上角。 當游標獲得新位置時,影像會從這個新位置的位移繪製,方法是從位置減去作用點座標。
[in] YHotSpot
類型: UINT
以圖元為單位的 Y 座標位移 (,) 標示游標的中心。 位移相對於游標的左上角。 當游標獲得新位置時,影像會從這個新位置的位移繪製,方法是從位置減去作用點座標。
[in] pCursorBitmap
類型: IDirect3DSurface9*
IDirect3DSurface9介面的指標。 此參數必須指向 8888 ARGB 表面 (格式D3DFMT_A8R8G8B8) 。 此表面的內容將會複製,並可能將格式轉換成顯示游標的來源內部緩衝區。 此表面的維度必須小於顯示模式的維度,而且必須是兩個方向的乘冪,但不一定是兩個的相同乘冪。 Alpha 色板必須是 0.0 或 1.0。
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。 如果方法失敗,則可以D3DERR_INVALIDCALL傳回值。
備註
作業系統資料指標會在下列任一狀況下建立及使用:
- 硬體已設定D3DCURSORCAPS_COLOR (請參閱 D3DCURSORCAPS) ,而資料指標大小為 32x32 (,這是作業系統) 中的資料指標大小。
- 應用程式正在視窗模式中執行。
建議應用程式一律捕捉WM_MOUSEMOVE事件,並呼叫 DXSetCursorPosition。
Direct3D 資料指標函式會根據硬體使用 GDI 資料指標或軟體模擬。 使用者通常會想要回應WM_SETCURSOR訊息。 例如,他們可能會想要撰寫訊息處理常式,如下所示:
case WM_SETCURSOR:
// Turn off window cursor.
SetCursor( NULL );
m_pd3dDevice->ShowCursor( TRUE );
return TRUE; // Prevent Windows from setting cursor to window class cursor.
break;
或者,如果使用者想要變更資料指標,可能會想要呼叫 IDirect3DDevice9::SetCursorProperties 方法。
應用程式可以檢查 D3DCAPS9 結構的適當成員,來判斷資料指標可用的硬體支援。 一般而言,硬體僅支援 32x32 資料指標,而且當視窗化時,系統可能只支援 32x32 資料指標。 在此情況下, IDirect3DDevice9::SetCursorProperties 仍然成功,但游標可能會縮減為該大小。 作用點會適當地調整。
當裝置遺失時,游標不會存留。 重設裝置之後,必須呼叫這個方法。
需求
目標平台 | Windows |
標頭 | d3d9.h (包含 D3D9.h) |
程式庫 | D3D9.lib |