Metode IDirect3DDevice9::SetCursorProperties (d3d9.h)
Mengatur properti untuk kursor.
Sintaks
HRESULT SetCursorProperties(
[in] UINT XHotSpot,
[in] UINT YHotSpot,
[in] IDirect3DSurface9 *pCursorBitmap
);
Parameter
[in] XHotSpot
Jenis: UINT
Offset koordinat X (dalam piksel) yang menandai bagian tengah kursor. Offset relatif terhadap sudut kiri atas kursor. Ketika kursor diberi posisi baru, gambar digambar pada offset dari posisi baru ini ditentukan dengan mengurangi koordinat hot spot dari posisi.
[in] YHotSpot
Jenis: UINT
Offset koordinat Y (dalam piksel) yang menandai bagian tengah kursor. Offset relatif terhadap sudut kiri atas kursor. Ketika kursor diberi posisi baru, gambar digambar pada offset dari posisi baru ini ditentukan dengan mengurangi koordinat hot spot dari posisi.
[in] pCursorBitmap
Jenis: IDirect3DSurface9*
Arahkan ke antarmuka IDirect3DSurface9 . Parameter ini harus menunjuk ke permukaan ARGB 8888 (format D3DFMT_A8R8G8B8). Isi permukaan ini akan disalin dan berpotensi dikonversi format menjadi buffer internal tempat kursor ditampilkan. Dimensi permukaan ini harus kurang dari dimensi mode tampilan, dan harus menjadi kekuatan dua di setiap arah, meskipun belum tentu kekuatan dua yang sama. Saluran alfa harus 0,0 atau 1,0.
Menampilkan nilai
Jenis: HRESULT
Jika metode berhasil, nilai yang dikembalikan adalah D3D_OK. Jika metode gagal, nilai yang dikembalikan dapat D3DERR_INVALIDCALL.
Keterangan
Kursor sistem operasi dibuat dan digunakan dalam salah satu kondisi berikut:
- Perangkat keras telah mengatur D3DCURSORCAPS_COLOR (lihat D3DCURSORCAPS), dan ukuran kursornya adalah 32x32 (yang merupakan ukuran kursor dalam sistem operasi).
- Aplikasi berjalan dalam mode berjendela.
Disarankan bagi aplikasi untuk selalu menjebak peristiwa WM_MOUSEMOVE dan memanggil DXSetCursorPosition.
Fungsi kursor Direct3D menggunakan kursor GDI atau emulasi perangkat lunak, tergantung pada perangkat keras. Pengguna biasanya ingin menanggapi pesan WM_SETCURSOR. Misalnya, mereka mungkin ingin menulis handler pesan sebagai berikut:
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;
Atau, pengguna mungkin ingin memanggil metode IDirect3DDevice9::SetCursorProperties jika mereka ingin mengubah kursor.
Aplikasi dapat menentukan dukungan perangkat keras apa yang tersedia untuk kursor dengan memeriksa anggota struktur D3DCAPS9 yang sesuai. Biasanya, perangkat keras hanya mendukung kursor 32x32 dan, ketika berjendela, sistem mungkin hanya mendukung kursor 32x32. Dalam hal ini, IDirect3DDevice9::SetCursorProperties masih berhasil tetapi kursor mungkin dikurangi ke ukuran tersebut. Hot spot diskalakan dengan tepat.
Kursor tidak bertahan ketika perangkat hilang. Metode ini harus dipanggil setelah perangkat direset.
Persyaratan
Target Platform | Windows |
Header | d3d9.h (termasuk D3D9.h) |
Pustaka | D3D9.lib |