mouse_event (winuser.h)

Fungsi mouse_event mensintesis gerakan mouse dan klik tombol.

Catatan Fungsi ini telah digantikan. Gunakan SendInput sebagai gantinya.
 

Sintaks

void mouse_event(
  [in] DWORD     dwFlags,
  [in] DWORD     dx,
  [in] DWORD     dy,
  [in] DWORD     dwData,
  [in] ULONG_PTR dwExtraInfo
);

Parameter

[in] dwFlags

Jenis: DWORD

Mengontrol berbagai aspek gerakan mouse dan mengklik tombol. Parameter ini dapat berupa kombinasi tertentu dari nilai berikut.

Nilai Makna
MOUSEEVENTF_ABSOLUTE
0x8000
Parameter dx dan dy berisi koordinat absolut yang dinormalisasi. Jika tidak diatur, parameter tersebut berisi data relatif: perubahan posisi sejak posisi terakhir yang dilaporkan. Bendera ini dapat diatur, atau tidak diatur, terlepas dari jenis perangkat seperti tetikus atau mouse apa, jika ada, yang terhubung ke sistem. Untuk informasi lebih lanjut tentang gerakan mouse relatif, lihat bagian Keterangan berikut.
MOUSEEVENTF_LEFTDOWN
0x0002
Tombol kiri tidak berfungsi.
MOUSEEVENTF_LEFTUP
0x0004
Tombol kiri ke atas.
MOUSEEVENTF_MIDDLEDOWN
0x0020
Tombol tengah tidak berfungsi.
MOUSEEVENTF_MIDDLEUP
0x0040
Tombol tengah sudah siap.
MOUSEEVENTF_MOVE
0x0001
Pergerakan terjadi.
MOUSEEVENTF_RIGHTDOWN
0x0008
Tombol kanan tidak berfungsi.
MOUSEEVENTF_RIGHTUP
0x0010
Tombol kanan sudah siap.
MOUSEEVENTF_WHEEL
0x0800
Roda telah dipindahkan, jika mouse memiliki roda. Jumlah pergerakan ditentukan dalam dwData
MOUSEEVENTF_XDOWN
0x0080
Tombol X ditekan.
MOUSEEVENTF_XUP
0x0100
Tombol X dirilis.
MOUSEEVENTF_WHEEL
0x0800
Tombol roda diputar.
MOUSEEVENTF_HWHEEL
0x01000
Tombol roda miring.
 

Nilai yang menentukan status tombol mouse diatur untuk menunjukkan perubahan status, bukan kondisi yang sedang berlangsung. Misalnya, jika tombol mouse kiri ditekan dan ditahan, MOUSEEVENTF_LEFTDOWN diatur saat tombol kiri pertama kali ditekan, tetapi tidak untuk gerakan berikutnya. Demikian pula, MOUSEEVENTF_LEFTUP diatur hanya ketika tombol pertama kali dirilis.

Anda tidak dapat menentukan MOUSEEVENTF_WHEEL dan MOUSEEVENTF_XDOWN atau MOUSEEVENTF_XUP secara bersamaan dalam parameter dwFlags , karena keduanya memerlukan penggunaan bidang dwData .

[in] dx

Jenis: DWORD

Posisi absolut mouse di sepanjang sumbu x atau jumlah gerakannya sejak peristiwa mouse terakhir dihasilkan, tergantung pada pengaturan MOUSEEVENTF_ABSOLUTE. Data absolut ditentukan sebagai koordinat x mouse yang sebenarnya; data relatif ditentukan sebagai jumlah mickey yang dipindahkan. Mickey adalah jumlah yang harus digerakkan mouse untuk melaporkan bahwa mouse telah bergerak.

[in] dy

Jenis: DWORD

Posisi mutlak mouse di sepanjang sumbu y atau jumlah gerakannya sejak peristiwa mouse terakhir dihasilkan, tergantung pada pengaturan MOUSEEVENTF_ABSOLUTE. Data absolut ditentukan sebagai koordinat y mouse yang sebenarnya; data relatif ditentukan sebagai jumlah mickey yang dipindahkan.

[in] dwData

Jenis: DWORD

Jika dwFlags berisi MOUSEEVENTF_WHEEL, maka dwData menentukan jumlah pergerakan roda. Nilai positif menunjukkan bahwa roda diputar ke depan, jauh dari pengguna; nilai negatif menunjukkan bahwa roda diputar mundur, ke arah pengguna. Satu klik roda didefinisikan sebagai WHEEL_DELTA, yaitu 120.

Jika dwFlags berisi MOUSEEVENTF_HWHEEL, maka dwData menentukan jumlah pergerakan roda. Nilai positif menunjukkan bahwa roda miring ke kanan; nilai negatif menunjukkan bahwa roda miring ke kiri.

Jika dwFlags berisi MOUSEEVENTF_XDOWN atau MOUSEEVENTF_XUP, maka dwData menentukan tombol X mana yang ditekan atau dilepaskan. Nilai ini mungkin kombinasi dari bendera berikut.

Jika dwFlags tidak MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN, atau MOUSEEVENTF_XUP, maka dwData harus nol.

Nilai Makna
XBUTTON1
0x0001
Atur apakah tombol X pertama ditekan atau dilepaskan.
XBUTTON2
0x0002
Atur jika tombol X kedua ditekan atau dilepaskan.

[in] dwExtraInfo

Jenis: ULONG_PTR

Nilai tambahan yang terkait dengan peristiwa mouse. Aplikasi memanggil GetMessageExtraInfo untuk mendapatkan informasi tambahan ini.

Mengembalikan nilai

Tidak ada

Keterangan

Jika mouse telah bergerak, ditunjukkan oleh MOUSEEVENTF_MOVE diatur, dx dan dy menyimpan informasi tentang gerakan tersebut. Informasi ditentukan sebagai nilai bilangan bulat absolut atau relatif.

Jika nilai MOUSEEVENTF_ABSOLUTE ditentukan, dx dan dy berisi koordinat absolut yang dinormalisasi antara 0 dan 65.535. Prosedur peristiwa memetakan koordinat ini ke permukaan tampilan. Peta koordinat (0,0) ke sudut kiri atas permukaan tampilan, peta (65535.65535) ke sudut kanan bawah.

Jika nilai MOUSEEVENTF_ABSOLUTE tidak ditentukan, dx dan dy menentukan gerakan relatif dari saat peristiwa mouse terakhir dihasilkan (posisi terakhir yang dilaporkan). Nilai positif berarti mouse bergerak ke kanan (atau ke bawah); nilai negatif berarti mouse bergerak ke kiri (atau ke atas).

Gerakan mouse relatif tunduk pada pengaturan untuk kecepatan mouse dan tingkat akselerasi. Pengguna akhir menetapkan nilai-nilai ini menggunakan aplikasi Mouse di Panel Kontrol. Aplikasi mendapatkan dan mengatur nilai-nilai ini dengan fungsi SystemParametersInfo .

Sistem menerapkan dua tes ke gerakan mouse relatif yang ditentukan saat menerapkan akselerasi. Jika jarak yang ditentukan di sepanjang sumbu x atau y lebih besar dari nilai ambang mouse pertama, dan tingkat akselerasi mouse bukan nol, sistem operasi menggandakan jarak. Jika jarak yang ditentukan di sepanjang sumbu x atau y lebih besar dari nilai ambang tetikus kedua, dan tingkat akselerasi mouse sama dengan dua, sistem operasi menggandakan jarak yang dihasilkan dari penerapan uji ambang pertama. Dengan demikian, sistem operasi dapat mengalikan gerakan mouse yang relatif ditentukan di sepanjang sumbu x atau y hingga empat kali.

Setelah akselerasi diterapkan, sistem menskalakan nilai yang dihasilkan oleh kecepatan mouse yang diinginkan. Kecepatan mouse dapat berkisar dari 1 (paling lambat) hingga 20 (tercepat) dan mewakili berapa banyak penunjuk bergerak berdasarkan jarak mouse bergerak. Nilai defaultnya adalah 10, yang tidak menghasilkan modifikasi tambahan pada gerakan mouse.

Fungsi mouse_event digunakan untuk mensintesis peristiwa mouse oleh aplikasi yang perlu melakukannya. Ini juga digunakan oleh aplikasi yang perlu mendapatkan lebih banyak informasi dari mouse daripada posisi dan status tombolnya. Misalnya, jika produsen tablet ingin meneruskan informasi berbasis pena ke aplikasinya sendiri, ia dapat menulis DLL yang berkomunikasi langsung ke perangkat keras tablet, mendapatkan informasi tambahan, dan menyimpannya dalam antrean. DLL kemudian memanggil mouse_event dengan tombol standar dan data posisi x/y, bersama dengan, dalam parameter dwExtraInfo , beberapa pointer atau indeks ke informasi tambahan yang diantrekan. Ketika aplikasi membutuhkan informasi tambahan, aplikasi memanggil DLL dengan pointer atau indeks yang disimpan di dwExtraInfo, dan DLL mengembalikan informasi tambahan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header winuser.h (termasuk Windows.h)
Pustaka User32.lib
DLL User32.dll

Lihat juga

Konseptual

GetMessageExtraInfo

Mouse Input

Sumber Daya Lain

Referensi

SystemParametersInfo