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) を指す必要があります。 このサーフェスの内容がコピーされ、カーソルが表示される内部バッファーに形式変換される可能性があります。 このサーフェスの寸法は、表示モードの寸法よりも小さく、各方向に 2 の累乗である必要がありますが、必ずしも 2 の同じ累乗ではありません。 アルファ チャネルは 0.0 または 1.0 である必要があります。
戻り値
種類: HRESULT
メソッドが成功した場合、戻り値はD3D_OK。 メソッドが失敗した場合は、戻り値をD3DERR_INVALIDCALLできます。
解説
オペレーティング システム カーソルが作成され、次のいずれかの条件で使用されます。
- ハードウェアでD3DCURSORCAPS_COLORが設定されており ( D3DCURSORCAPS を参照)、カーソル サイズは 32 x 32 (オペレーティング システムのカーソル サイズ) です。
- アプリケーションがウィンドウ モードで実行されています。
アプリケーションでは、常に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 構造体の適切なメンバーを調べることで、カーソルに対して使用可能なハードウェア サポートを決定できます。 通常、ハードウェアは 32 x 32 カーソルのみをサポートし、ウィンドウが表示されている場合、システムは 32 x 32 カーソルのみをサポートする場合があります。 この場合、 IDirect3DDevice9::SetCursorProperties は引き続き成功しますが、カーソルがそのサイズに縮小される可能性があります。 ホット スポットは適切にスケーリングされます。
デバイスが失われた場合、カーソルは存続しません。 このメソッドは、デバイスのリセット後に呼び出す必要があります。
要件
対象プラットフォーム | Windows |
ヘッダー | d3d9.h (D3D9.h を含む) |
Library | D3D9.lib |