pesan WM_MOUSEHWHEEL

Dikirim ke jendela aktif saat roda gulir horizontal mouse miring atau diputar. Fungsi DefWindowProc menyebarluaskan pesan ke induk jendela. Seharusnya tidak ada penerusan internal pesan, karena DefWindowProc menyebarkannya ke rantai induk sampai menemukan jendela yang memprosesnya.

Jendela menerima pesan ini melalui fungsi WindowProc-nya.

#define WM_MOUSEHWHEEL                  0x020E

Parameter

wParam

Kata berurutan tinggi menunjukkan jarak roda diputar, dinyatakan dalam kelipatan atau faktor WHEEL_DELTA, yang diatur ke 120. Nilai positif menunjukkan bahwa roda diputar ke kanan; nilai negatif menunjukkan bahwa roda diputar ke kiri.

Kata berurutan rendah menunjukkan apakah berbagai kunci virtual tidak berfungsi. Parameter ini bisa berupa satu atau beberapa nilai berikut.

Value Makna
MK_CONTROL
0x0008
Tombol CTRL tidak berfungsi.
MK_LBUTTON
0x0001
Tombol mouse kiri tidak berfungsi.
MK_MBUTTON
0x0010
Tombol mouse tengah tidak berfungsi.
MK_RBUTTON
0x0002
Tombol kanan mouse tidak berfungsi.
MK_SHIFT
0x0004
Tombol SHIFT tidak berfungsi.
MK_XBUTTON1
0x0020
Tombol X pertama tidak berfungsi.
MK_XBUTTON2
0x0040
Tombol X kedua tidak berfungsi.

lParam

Kata berurutan rendah menentukan koordinat x penunjuk, relatif terhadap sudut kiri atas layar.

Kata berurutan tinggi menentukan koordinat y penunjuk, relatif terhadap sudut kiri atas layar.

Nilai hasil

Jika aplikasi memproses pesan ini, aplikasi harus mengembalikan nol.

Keterangan

Gunakan kode berikut untuk mendapatkan informasi dalam parameter wParam .

fwKeys = GET_KEYSTATE_WPARAM(wParam);
zDelta = GET_WHEEL_DELTA_WPARAM(wParam);

Gunakan kode berikut untuk mendapatkan posisi horizontal dan vertikal.

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam);

Seperti disebutkan di atas, koordinat x berada dalam kekurangan nilai pengembalian dalam urutan rendah; koordinat y berada dalam pendek urutan tinggi (keduanya mewakili nilai yang ditandatangani karena dapat mengambil nilai negatif pada sistem dengan beberapa monitor). Jika nilai pengembalian ditetapkan ke variabel, Anda dapat menggunakan makro MAKEPOINTS untuk mendapatkan struktur POINTS dari nilai yang dikembalikan. Anda juga dapat menggunakan makro GET_X_LPARAM atau GET_Y_LPARAM untuk mengekstrak koordinat x atau y.

Penting

Jangan gunakan makro LOWORD atau HIWORD untuk mengekstrak koordinat x- dan y- dari posisi kursor karena makro ini mengembalikan hasil yang salah pada sistem dengan beberapa monitor. Sistem dengan beberapa monitor dapat memiliki koordinat x-dan y- negatif, dan LOWORD dan HIWORD memperlakukan koordinat sebagai jumlah yang tidak ditandatangani.

Rotasi roda adalah kelipatan WHEEL_DELTA, yang diatur ke 120. Ini adalah ambang batas untuk tindakan yang akan diambil, dan satu tindakan seperti itu (misalnya, menggulir satu kenaikan) harus terjadi untuk setiap delta.

Delta diatur ke 120 untuk memungkinkan Microsoft atau vendor lain membangun roda resolusi yang lebih halus (misalnya, roda yang diputar bebas tanpa takik) untuk mengirim lebih banyak pesan per rotasi, tetapi dengan nilai yang lebih kecil di setiap pesan. Untuk menggunakan fitur ini, Anda dapat menambahkan nilai delta masuk hingga WHEEL_DELTA tercapai (sehingga untuk delta-rotasi Anda mendapatkan respons yang sama), atau menggulir baris parsial sebagai respons terhadap pesan yang lebih sering. Anda juga dapat memilih granularitas gulir dan mengakumulasi delta hingga tercapai.

Persyaratan

Persyaratan Value
Klien minimum yang didukung
Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2008 [hanya aplikasi desktop]
Header
Winuser.h (termasuk Windowsx.h)

Baca juga

Referensi

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_Y_LPARAM

GET_WHEEL_DELTA_WPARAM

KATA SANDI

LOWORD

mouse_event

Konseptual

Mouse Input

Sumber Daya Lainnya

GetSystemMetrics

MAKEPOINTS

POIN

SystemParametersInfo