pesan WM_MOUSEHWHEEL
Dikirim ke jendela aktif saat roda gulir horizontal mouse miring atau diputar. Fungsi DefWindowProc menyebarkan 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
#define WM_MOUSEHWHEEL 0x020E
Parameter
-
wParam
-
Kata urutan 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.
Nilai Arti - 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
XBUTTON1 tidak berfungsi. - MK_XBUTTON2
- 0x0040
XBUTTON2 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.
Mengembalikan nilai
Jika aplikasi memproses pesan ini, aplikasi harus mengembalikan nol.
Komentar
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 pendek
Penting
Jangan gunakan makro
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 rotasi delta 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
Syarat | Nilai |
---|---|
Klien minimum yang didukung |
Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung |
Windows Server 2008 [hanya aplikasi desktop] |
Header |
|
Lihat juga
-
Referensi
-
HIWORD
-
Konseptual
-
Input Mouse
-
Sumber Daya Lain
-
MAKEPOINTS -
POINTS