Mouse Input
Bagian ini menjelaskan bagaimana sistem memberikan input mouse ke aplikasi Anda dan bagaimana aplikasi menerima dan memproses input tersebut.
Di bagian ini
Topik | Deskripsi |
---|---|
Tentang Input Mouse |
Topik ini membahas input mouse. |
Menggunakan Input Mouse |
Bagian ini mencakup tugas yang terkait dengan input mouse. |
Referensi Input Mouse |
Fungsi
Nama | Deskripsi |
---|---|
_TrackMouseEvent | Memposting pesan saat penunjuk mouse meninggalkan jendela atau mengarahkan kursor ke jendela selama jangka waktu tertentu. Fungsi ini memanggil TrackMouseEvent jika ada, jika tidak, fungsi ini menirunya. |
BlockInput | Memblokir peristiwa input keyboard dan mouse agar tidak menjangkau aplikasi. |
DragDetect | Mengambil mouse dan melacak gerakannya hingga pengguna melepaskan tombol kiri, menekan tombol ESC, atau memindahkan mouse ke luar persegi panjang seret di sekitar titik yang ditentukan. Lebar dan tinggi persegi panjang seret ditentukan oleh nilai SM_CXDRAG dan SM_CYDRAG yang dikembalikan oleh fungsi GetSystemMetrics . |
EnableMouseInPointer | Memungkinkan mouse bertindak sebagai perangkat penunjuk. |
EnableWindow | Mengaktifkan atau menonaktifkan input mouse dan keyboard ke jendela atau kontrol yang ditentukan. Ketika input dinonaktifkan, jendela tidak menerima input seperti klik mouse dan penekanan tombol. Ketika input diaktifkan, jendela menerima semua input. |
GetCapture | Mengambil handel ke jendela (jika ada) yang telah mengambil mouse. Hanya satu jendela pada satu waktu yang dapat menangkap mouse; jendela ini menerima input mouse apakah kursor berada di dalam batasnya atau tidak. |
GetDoubleClickTime | Mengambil waktu klik-ganda saat ini untuk mouse. Klik ganda adalah serangkaian dua klik tombol mouse, yang kedua terjadi dalam waktu yang ditentukan setelah yang pertama. Waktu klik ganda adalah jumlah maksimum milidetik yang mungkin terjadi antara klik pertama dan kedua dari klik ganda. |
GetMouseMovePointsEx | Mengambil riwayat hingga 64 koordinat mouse atau pena sebelumnya. |
IsWindowEnabled | Menentukan apakah jendela yang ditentukan diaktifkan untuk input mouse dan keyboard. |
ReleaseCapture | Melepaskan tangkapan mouse dari jendela di utas saat ini dan memulihkan pemrosesan input mouse normal. Jendela yang telah menangkap mouse menerima semua input mouse, terlepas dari posisi kursor, kecuali ketika tombol mouse diklik saat hot spot kursor berada di jendela utas lain. |
SendInput | Mensintesis penekanan tombol, gerakan mouse, dan klik tombol. |
SetCapture | Menyetel tangkapan mouse ke jendela yang ditentukan milik utas saat ini. SetCapture menangkap input mouse baik ketika mouse berada di atas jendela penangkapan, atau ketika tombol mouse ditekan saat mouse berada di atas jendela penangkapan dan tombol masih turun. Hanya satu jendela pada satu waktu yang dapat menangkap mouse. Jika kursor mouse berada di atas jendela yang dibuat oleh utas lain, sistem akan mengarahkan input mouse ke jendela yang ditentukan hanya jika tombol mouse tidak berfungsi. |
SetDoubleClickTime | Mengatur waktu klik ganda untuk mouse. Klik ganda adalah serangkaian dua klik tombol mouse, yang kedua terjadi dalam waktu yang ditentukan setelah yang pertama. Waktu klik ganda adalah jumlah maksimum milidetik yang mungkin terjadi antara klik pertama dan kedua dari klik ganda. |
SwapMouseButton | Membalikkan atau memulihkan arti tombol mouse kiri dan kanan. |
TrackMouseEvent | Memposting pesan saat penunjuk mouse meninggalkan jendela atau mengarahkan kursor ke jendela selama jangka waktu tertentu. |
Fungsi berikut sudah usang.
Fungsi | Deskripsi |
---|---|
mouse_event | Mensintesis gerakan mouse dan klik tombol. |
Pemberitahuan
Nama | Deskripsi |
---|---|
WM_APPCOMMAND | Memberi tahu jendela bahwa pengguna menghasilkan peristiwa perintah aplikasi, misalnya, dengan mengklik tombol perintah aplikasi menggunakan mouse atau mengetik tombol perintah aplikasi pada keyboard. |
WM_CAPTURECHANGED | Dikirim ke jendela yang kehilangan tangkapan mouse. |
WM_LBUTTONDBLCLK | Diposting saat pengguna mengklik dua kali tombol mouse kiri saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse. |
WM_LBUTTONDOWN | Diposting saat pengguna menekan tombol mouse kiri saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse. |
WM_LBUTTONUP | Diposting saat pengguna melepaskan tombol mouse kiri saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse. |
WM_MBUTTONDBLCLK | Diposting ketika pengguna mengklik dua kali tombol mouse tengah saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse. |
WM_MBUTTONDOWN | Diposting ketika pengguna menekan tombol mouse tengah saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse. |
WM_MBUTTONUP | Diposting saat pengguna melepaskan tombol mouse tengah saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse. |
WM_MOUSEACTIVATE | Dikirim ketika kursor berada di jendela tidak aktif dan pengguna menekan tombol mouse. Jendela induk menerima pesan ini hanya jika jendela anak meneruskannya ke fungsi DefWindowProc . |
WM_MOUSEHOVER | Diposting ke jendela saat kursor mengarahkan kursor ke area klien jendela untuk jangka waktu yang ditentukan dalam panggilan sebelumnya ke TrackMouseEvent. |
WM_MOUSEHWHEEL | Dikirim ke jendela fokus saat roda gulir horizontal mouse di miringkan atau diputar. FungsiDefWindowProcmenyebarkan pesan ke induk jendela. Seharusnya tidak ada penerusan internal pesan, karena DefWindowProc menyebarkannya ke rantai induk sampai menemukan jendela yang memprosesnya. |
WM_MOUSELEAVE | Diposting ke jendela saat kursor meninggalkan area klien jendela yang ditentukan dalam panggilan sebelumnya ke TrackMouseEvent. |
WM_MOUSEMOVE | Diposting ke jendela saat kursor bergerak. Jika mouse tidak diambil, pesan diposting ke jendela yang berisi kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse. |
WM_MOUSEWHEEL | Dikirim ke jendela fokus saat roda mouse 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. |
WM_NCHITTEST | Dikirim ke jendela untuk menentukan bagian jendela apa yang sesuai dengan koordinat layar tertentu. Ini dapat terjadi, misalnya, ketika kursor bergerak, ketika tombol mouse ditekan atau dilepaskan, atau sebagai respons terhadap panggilan ke fungsi seperti WindowFromPoint. Jika mouse tidak diambil, pesan dikirim ke jendela di bawah kursor. Jika tidak, pesan dikirim ke jendela yang telah menangkap mouse. |
WM_NCLBUTTONDBLCLK | Diposting saat pengguna mengklik dua kali tombol mouse kiri saat kursor berada di dalam area nonkelola jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting. |
WM_NCLBUTTONDOWN | Diposting saat pengguna menekan tombol mouse kiri saat kursor berada di dalam area nonkelola jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting. |
WM_NCLBUTTONUP | Diposting saat pengguna melepaskan tombol mouse kiri saat kursor berada di dalam area nonkelola jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting. |
WM_NCMBUTTONDBLCLK | Diposting saat pengguna mengklik dua kali tombol mouse tengah saat kursor berada di dalam area nonkelola jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting. |
WM_NCMBUTTONDOWN | Diposting saat pengguna menekan tombol mouse tengah saat kursor berada di dalam area nonkelola jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting. |
WM_NCMBUTTONUP | Diposting saat pengguna melepaskan tombol mouse tengah saat kursor berada di dalam area nonkelola jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting. |
WM_NCMOUSEHOVER | Diposting ke jendela saat kursor mengarahkan kursor ke area nonkelola jendela untuk jangka waktu yang ditentukan dalam panggilan sebelumnya keTrackMouseEvent. |
WM_NCMOUSELEAVE | Diposting ke jendela saat kursor meninggalkan area nonkelola jendela yang ditentukan dalam panggilan sebelumnya keTrackMouseEvent. |
WM_NCMOUSEMOVE | Diposting ke jendela saat kursor dipindahkan di dalam area nonkelola jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting. |
WM_NCRBUTTONDBLCLK | Diposting saat pengguna mengklik dua kali tombol kanan mouse saat kursor berada di dalam area nonkelola jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting. |
WM_NCRBUTTONDOWN | Diposting saat pengguna menekan tombol kanan mouse saat kursor berada di dalam area nonkelola jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting. |
WM_NCRBUTTONUP | Diposting saat pengguna melepaskan tombol kanan mouse saat kursor berada di dalam area nonkelola jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting. |
WM_NCXBUTTONDBLCLK | Diposting saat pengguna mengklik dua kali tombol X pertama atau kedua saat kursor berada di area nonkelola jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting. |
WM_NCXBUTTONDOWN | Diposting saat pengguna menekan tombol X pertama atau kedua saat kursor berada di area nonkelola jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting. |
WM_NCXBUTTONUP | Diposting saat pengguna merilis tombol X pertama atau kedua saat kursor berada di area nonkelola jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting. |
WM_RBUTTONDBLCLK | Diposting saat pengguna mengklik dua kali tombol kanan mouse saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse. |
WM_RBUTTONDOWN | Diposting saat pengguna menekan tombol kanan mouse saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse. |
WM_RBUTTONUP | Diposting saat pengguna merilis tombol kanan mouse saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse. |
WM_XBUTTONDBLCLK | Diposting saat pengguna mengklik dua kali tombol X pertama atau kedua saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse. |
WM_XBUTTONDOWN | Diposting saat pengguna menekan tombol X pertama atau kedua saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse. |
WM_XBUTTONUP | Diposting saat pengguna merilis tombol X pertama atau kedua saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse. |
Struktur
Nama | Deskripsi |
---|---|
HARDWAREINPUT | Berisi informasi tentang pesan simulasi yang dihasilkan oleh perangkat input selain keyboard atau mouse. |
INPUT | Berisi informasi yang digunakan untuk mensintesis peristiwa input seperti penekanan tombol, gerakan mouse, dan klik mouse. |
LASTINPUTINFO | Berisi waktu input terakhir. |
MOUSEINPUT | Berisi informasi tentang peristiwa mouse yang disimulasikan. |
MOUSEMOVEPOINT | Berisi informasi tentang lokasi mouse dalam koordinat layar. |
TRACKMOUSEEVENT | Digunakan oleh fungsi TrackMouseEvent untuk melacak kapan penunjuk mouse meninggalkan jendela atau mengarahkan kursor ke jendela untuk waktu tertentu. |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk