IDirect3DDevice9::SetCursorProperties 方法 (d3d9helper.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 |
標頭 | d3d9helper.h (包含 D3D9.h) |
程式庫 | D3D9.lib |