Bagikan melalui


Struktur MOUSEINPUT (winuser.h)

Berisi informasi tentang peristiwa tetikus yang disimulasikan.

Sintaks

typedef struct tagMOUSEINPUT {
  LONG      dx;
  LONG      dy;
  DWORD     mouseData;
  DWORD     dwFlags;
  DWORD     time;
  ULONG_PTR dwExtraInfo;
} MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;

Anggota

dx

Jenis: LONG

Posisi mutlak mouse, atau jumlah gerakan sejak peristiwa mouse terakhir dihasilkan, tergantung pada nilai anggota dwFlags . Data absolut ditentukan sebagai koordinat x mouse; data relatif ditentukan sebagai jumlah piksel yang dipindahkan.

dy

Jenis: LONG

Posisi mutlak mouse, atau jumlah gerakan sejak peristiwa mouse terakhir dihasilkan, tergantung pada nilai anggota dwFlags . Data absolut ditentukan sebagai koordinat y mouse; data relatif ditentukan sebagai jumlah piksel yang dipindahkan.

mouseData

Jenis: DWORD

Jika dwFlags berisi MOUSEEVENTF_WHEEL, maka mouseData 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.

Windows Vista: Jika dwFlags berisi MOUSEEVENTF_HWHEEL, maka dwData menentukan jumlah pergerakan roda. Nilai positif menunjukkan bahwa roda diputar ke kanan; nilai negatif menunjukkan bahwa roda diputar ke kiri. Satu klik roda didefinisikan sebagai WHEEL_DELTA, yaitu 120.

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

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

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

dwFlags

Jenis: DWORD

Sekumpulan bendera bit yang menentukan berbagai aspek gerakan mouse dan klik tombol. Bit dalam anggota ini bisa menjadi kombinasi yang wajar dari nilai berikut.

Bendera bit 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 bendera MOUSEEVENTF_WHEEL dan bendera MOUSEEVENTF_XDOWN atau MOUSEEVENTF_XUP secara bersamaan dalam parameter dwFlags , karena keduanya memerlukan penggunaan bidang mouseData .

Nilai Makna
MOUSEEVENTF_MOVE
0x0001
Pergerakan terjadi.
MOUSEEVENTF_LEFTDOWN
0x0002
Tombol kiri ditekan.
MOUSEEVENTF_LEFTUP
0x0004
Tombol kiri dilepaskan.
MOUSEEVENTF_RIGHTDOWN
0x0008
Tombol kanan ditekan.
MOUSEEVENTF_RIGHTUP
0x0010
Tombol kanan dilepaskan.
MOUSEEVENTF_MIDDLEDOWN
0x0020
Tombol tengah ditekan.
MOUSEEVENTF_MIDDLEUP
0x0040
Tombol tengah dilepaskan.
MOUSEEVENTF_XDOWN
0x0080
Tombol X ditekan.
MOUSEEVENTF_XUP
0x0100
Tombol X dirilis.
MOUSEEVENTF_WHEEL
0x0800
Roda dipindahkan, jika mouse memiliki roda. Jumlah gerakan ditentukan dalam mouseData.
MOUSEEVENTF_HWHEEL
0x1000
Roda dipindahkan secara horizontal, jika mouse memiliki roda. Jumlah gerakan ditentukan dalam mouseData.
Windows XP/2000: Nilai ini tidak didukung.
MOUSEEVENTF_MOVE_NOCOALESCE
0x2000
Pesan WM_MOUSEMOVE tidak akan digabungkan. Perilaku defaultnya adalah menyabungkan WM_MOUSEMOVE pesan.
Windows XP/2000: Nilai ini tidak didukung.
MOUSEEVENTF_VIRTUALDESK
0x4000
Peta berkoordinasi ke seluruh desktop. Harus digunakan dengan MOUSEEVENTF_ABSOLUTE.
MOUSEEVENTF_ABSOLUTE
0x8000
Anggota dx dan dy berisi koordinat absolut yang dinormalisasi. Jika bendera tidak diatur, dxdan dy berisi data relatif (perubahan posisi sejak posisi terakhir dilaporkan). Bendera ini dapat diatur, atau tidak diatur, terlepas dari jenis mouse atau perangkat penunjuk lainnya, jika ada, yang terhubung ke sistem. Untuk informasi lebih lanjut tentang gerakan mouse relatif, lihat bagian Keterangan berikut.

time

Jenis: DWORD

Stempel waktu untuk peristiwa, dalam milidetik. Jika parameter ini adalah 0, sistem akan memberikan stempel waktunya sendiri.

dwExtraInfo

Jenis: ULONG_PTR

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

Keterangan

Jika mouse telah bergerak, ditunjukkan oleh MOUSEEVENTF_MOVE, dx dan dy menentukan informasi tentang gerakan itu. 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. Koordinat (0,0) memetakan ke sudut kiri atas permukaan tampilan; koordinat (65535.65535) memetakan ke sudut kanan bawah. Dalam sistem multimonitor, koordinat memetakan ke monitor utama.

Jika MOUSEEVENTF_VIRTUALDESK ditentukan, koordinat memetakan ke seluruh desktop virtual.

Jika nilai MOUSEEVENTF_ABSOLUTE tidak ditentukan, dxdan dy menentukan pergerakan relatif terhadap peristiwa mouse sebelumnya (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 efek kecepatan mouse dan nilai ambang dua mouse. Pengguna mengatur ketiga nilai ini dengan penggunjuk Kecepatan Penunjuk dari lembar Properti Mouse Panel Kontrol. Anda dapat memperoleh dan mengatur nilai-nilai ini menggunakan fungsi SystemParametersInfo .

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

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header winuser.h (sertakan Windows.h)

Lihat juga

Konseptual

GetMessageExtraInfo

INPUT

Keyboard Input

Referensi

SendInput