Bagikan melalui


Masukan Mouse

Bagian ini menjelaskan bagaimana sistem menyediakan 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 Tetikus
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 untuk waktu tertentu. Fungsi ini memanggil TrackMouseEvent jika ada, jika tidak, fungsi ini menirunya.
BlockInput Memblokir sinyal input keyboard dan mouse agar tidak mencapai 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.
AktifkanLayar 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 handle dari jendela (jika ada) yang menangkap 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 Memperoleh waktu klik-ganda terkini 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) Melepaskan tangkapan mouse dari jendela di utas saat ini dan memulihkan pemrosesan input mouse normal. Jendela yang sudah menangkap mouse akan menerima semua input mouse, terlepas dari posisi kursor, kecuali ketika tombol mouse diklik saat titik fokus kursor berada di jendela dari utas lain.
SendInput Menggabungkan penekanan tombol, gerakan tetikus, dan klik tombol.
SetCapture Mengatur tangkapan mouse ke jendela yang ditentukan milik utas saat ini. SetCapture menangkap input mouse baik ketika mouse berada di atas jendela menangkap, atau ketika tombol mouse ditekan saat mouse berada di atas jendela menangkap dan tombolnya masih ditekan. Hanya satu jendela pada satu waktu yang dapat menangkap mouse.
Jika kursor mouse berada di atas jendela yang dibuat oleh thread lain, sistem akan mengarahkan input mouse ke jendela yang ditentukan hanya jika tombol mouse ditekan.
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 untuk waktu tertentu.

Fungsi berikut usang.

Fungsi Deskripsi
kejadian_mouse 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 ketika pengguna mengklik dua kali tombol mouse kiri saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan dikirimkan ke jendela yang berada di bawah kursor. Jika tidak, pesan dikirim ke jendela yang telah menangkap mouse.
WM_LBUTTONDOWN Diposting ketika pengguna menekan tombol mouse kiri saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan dikirimkan ke jendela yang berada di bawah kursor. Jika tidak, pesan dikirim ke jendela yang telah menangkap mouse.
WM_LBUTTONUP Diposting saat pengguna melepaskan tombol mouse kiri ketika kursor berada di wilayah klien pada jendela. Jika mouse tidak diambil, pesan dikirimkan ke jendela yang berada di bawah kursor. Jika tidak, pesan dikirim ke jendela yang telah menangkap mouse.
WM_MBUTTONDBLCLK Diposting ketika pengguna mengklik dua kali tombol mouse tengah saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan dikirimkan ke jendela yang berada di bawah kursor. Jika tidak, pesan dikirim ke jendela yang telah menangkap mouse.
WM_MBUTTONDOWN Diposting ketika pengguna menekan tombol mouse tengah saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan dikirimkan ke jendela yang berada di bawah kursor. Jika tidak, pesan dikirim ke jendela yang telah menangkap mouse.
WM_MBUTTONUP Diposting saat pengguna melepaskan tombol mouse tengah saat kursor berada di area klien dari jendela. Jika mouse tidak diambil, pesan dikirimkan ke jendela yang berada di bawah kursor. Jika tidak, pesan dikirim ke jendela yang telah menangkap 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 ketika kursor berada di atas area klien jendela untuk periode waktu yang ditentukan dalam panggilan sebelumnya ke TrackMouseEvent.
WM_MOUSEHWHEEL Dikirim ke jendela fokus saat roda gulir horizontal mouse miring atau diputar. FungsiDefWindowProcmenyebarkan pesan ke induk jendela. Seharusnya tidak ada penerusan internal pesan, karena DefWindowProc menyebarkannya ke atas rantai induk sampai menemukan jendela yang memprosesnya.
WM_MOUSELEAVE Pesan dikirim ke jendela ketika kursor meninggalkan area klien dari jendela yang ditentukan dalam panggilan sebelumnya ke TrackMouseEvent.
WM_MOUSEMOVE Diposting ke jendela saat kursor bergerak. Jika mouse tidak ditangkap, pesan dikirimkan ke jendela yang berisi kursor. Jika tidak, pesan dikirim ke jendela yang telah menangkap 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 atas 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 dirilis, atau sebagai respons terhadap panggilan ke fungsi seperti WindowFromPoint. Jika mouse tidak ditangkap, pesan dikirim ke jendela di bawah kursor. Jika tidak, pesan dikirim ke jendela yang telah menangkap mouse.
WM_NCLBUTTONDBLCLK Diposting ketika pengguna mengeklik dua kali tombol mouse kiri saat kursor berada di dalam area non-klien jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah menangkap mouse, pesan ini tidak dikirimkan.
WM_NCLBUTTONDOWN Diposting saat pengguna menekan tombol mouse kiri ketika kursor berada di dalam area non-klien jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah menangkap mouse, pesan ini tidak dikirimkan.
WM_NCLBUTTONUP Diposting saat pengguna melepas tombol mouse kiri ketika kursor berada di dalam area nonklien jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah menangkap mouse, pesan ini tidak dikirimkan.
WM_NCMBUTTONDBLCLK Diposting ketika pengguna mengeklik dua kali tombol mouse tengah saat kursor berada di dalam area nonklien jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah menangkap mouse, pesan ini tidak dikirimkan.
WM_NCMBUTTONDOWN Diposting ketika pengguna menekan tombol mouse-tengah saat kursor berada di area non-klien jendela aplikasi. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah menangkap mouse, pesan ini tidak dikirimkan.
WM_NCMBUTTONUP Diposting saat pengguna merilis tombol mouse tengah saat kursor berada di dalam area non-klien jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah menangkap mouse, pesan ini tidak dikirimkan.
WM_NCMOUSEHOVER Diposting ke jendela saat kursor mengarah ke area nonklien jendela selama periode waktu yang ditentukan dalam pemanggilan sebelumnya keTrackMouseEvent.
WM_NCMOUSELEAVE Diposting ke jendela saat kursor meninggalkan area non-klien jendela yang ditentukan dalam panggilan sebelumnya keTrackMouseEvent.
WM_NCMOUSEMOVE Dikirim ke jendela saat kursor dipindahkan di dalam area bukan-klien jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah menangkap mouse, pesan ini tidak dikirimkan.
WM_NCRBUTTONDBLCLK Diposting ketika pengguna mengeklik dua kali tombol kanan mouse saat kursor berada di area non-klien sebuah jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah menangkap mouse, pesan ini tidak dikirimkan.
WM_NCRBUTTONDOWN Diposting ketika pengguna menekan tombol kanan mouse saat kursor berada di dalam area nonklien jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah menangkap mouse, pesan ini tidak dikirimkan.
WM_NCRBUTTONUP Diposting saat pengguna melepaskan tombol kanan mouse saat kursor berada di dalam area nonklien jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah menangkap mouse, pesan ini tidak dikirimkan.
WM_NCXBUTTONDBLCLK Diposting ketika pengguna mengklik dua kali XBUTTON1 atau XBUTTON2 saat kursor berada di area nonklien jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah menangkap mouse, pesan ini tidak dikirimkan.
WM_NCXBUTTONDOWN Akan diposting saat pengguna menekan XBUTTON1 atau XBUTTON2 saat kursor berada di area nonklien jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah menangkap mouse, pesan ini tidak dikirimkan.
WM_NCXBUTTONUP Diposting saat pengguna melepaskan XBUTTON1 atau XBUTTON2 ketika kursor berada di area non-klien jendela. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah menangkap mouse, pesan ini tidak dikirimkan.
WM_RBUTTONDBLCLK Diposting ketika pengguna mengklik dua kali tombol kanan mouse saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan dikirimkan ke jendela yang berada di bawah kursor. Jika tidak, pesan dikirim ke jendela yang telah menangkap mouse.
WM_RBUTTONDOWN Diposting ketika pengguna menekan tombol kanan mouse saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan dikirimkan ke jendela yang berada di bawah kursor. Jika tidak, pesan dikirim ke jendela yang telah menangkap mouse.
WM_RBUTTONUP Diposting saat pengguna melepaskan tombol kanan mouse saat kursor berada di area klien dari sebuah jendela. Jika mouse tidak diambil, pesan dikirimkan ke jendela yang berada di bawah kursor. Jika tidak, pesan dikirim ke jendela yang telah menangkap mouse.
WM_XBUTTONDBLCLK Diposting saat pengguna mengklik dua kali baik XBUTTON1 atau XBUTTON2 saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan dikirimkan ke jendela yang berada di bawah kursor. Jika tidak, pesan dikirim ke jendela yang telah menangkap mouse.
WM_XBUTTONDOWN Diposting saat pengguna menekan XBUTTON1 atau XBUTTON2 saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan dikirimkan ke jendela yang berada di bawah kursor. Jika tidak, pesan dikirim ke jendela yang telah menangkap mouse.
WM_XBUTTONUP Diposting saat pengguna merilis XBUTTON1 atau XBUTTON2 saat kursor berada di area klien jendela. Jika mouse tidak diambil, pesan dikirimkan ke jendela yang berada di bawah kursor. Jika tidak, pesan dikirim ke jendela yang telah menangkap mouse.

Struktur

Nama Deskripsi
HARDWAREINPUT Berisi informasi tentang pesan yang disimulasikan 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 tetikus yang disimulasikan.
MOUSEMOVEPOINT Berisi informasi tentang lokasi tetikus dalam koordinat layar.
TRACKMOUSEEVENT Digunakan oleh fungsi TrackMouseEvent untuk melacak saat penunjuk mouse meninggalkan jendela atau mengarahkan kursor ke jendela untuk waktu tertentu.