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
Referensi