pesan WM_POINTERENTER
Dikirim ke jendela saat penunjuk baru memasuki rentang deteksi di atas jendela (arahkan mouse) atau saat penunjuk yang ada bergerak di dalam batas jendela.
Jendela menerima pesan ini melalui fungsiWindowProc.
! [Penting]
Aplikasi desktop harus diketahui DPI. Jika aplikasi Anda tidak mengetahui DPI, koordinat layar yang terkandung dalam pesan penunjuk dan struktur terkait mungkin muncul tidak akurat karena virtualisasi DPI. Virtualisasi DPI menyediakan dukungan penskalaan otomatis untuk aplikasi yang tidak diketahui DPI dan aktif secara default (pengguna dapat menonaktifkannya). Untuk informasi selengkapnya, lihat Menulis Aplikasi High-DPI Win32.
#define WM_POINTERENTER 0x0249
Parameter
-
wParam
-
Berisi pengidentifikasi penunjuk dan informasi tambahan. Gunakan makro berikut untuk mengambil informasi tertentu dalam parameter wParam.
- GET_POINTERID_WPARAM(wParam): pengidentifikasi penunjuk.
- IS_POINTER_NEW_WPARAM(wParam): menunjukkan apakah pesan ini adalah pesan pertama yang dihasilkan oleh pointer baru yang memasuki rentang deteksi (arahkan kursor).
- IS_POINTER_INRANGE_WPARAM(wParam): menunjukkan apakah pesan ini dihasilkan oleh penunjuk yang belum meninggalkan rentang deteksi. Bendera ini selalu diatur untuk pesan WM_POINTERENTER.
- IS_POINTER_INCONTACT_WPARAM(wParam): bendera yang menunjukkan apakah pesan ini dihasilkan oleh pointer yang sedang dihubungi. Bendera ini tidak diatur untuk penunjuk dalam rentang deteksi (arahkan kursor).
-
lParam
-
Berisi lokasi titik penunjuk.
Nota
Karena pointer dapat melakukan kontak dengan perangkat melalui area non-sepele, lokasi titik ini mungkin merupakan penyederhanaan area pointer yang lebih kompleks. Jika memungkinkan, aplikasi harus menggunakan informasi area pointer lengkap alih-alih lokasi titik.
Gunakan makro berikut untuk mengambil koordinat layar fisik titik tersebut.
- GET_X_LPARAM(lParam): koordinat x (titik horizontal).
- GET_Y_LPARAM(lParam): koordinat y (titik vertikal).
Mengembalikan nilai
Jika aplikasi memproses pesan ini, aplikasi harus mengembalikan nol.
Jika aplikasi tidak memproses pesan ini, aplikasi harus memanggil DefWindowProc.
Komentar
Pemberitahuan WM_POINTERENTER dapat digunakan oleh jendela untuk memberikan umpan balik kepada pengguna saat pointer berada di atas permukaannya atau untuk bereaksi terhadap keberadaan pointer di atas permukaannya.
Pemberitahuan ini hanya dikirim ke jendela yang menerima input untuk penunjuk. Tabel berikut ini mencantumkan beberapa situasi di mana pemberitahuan ini dikirim.
Perbuatan | Set Bendera | Pemberitahuan Dikirim Ke |
---|---|---|
Penunjuk baru memasuki rentang deteksi (arahkan mouse). |
IS_POINTER_NEW_WPARAM IS_POINTER_INRANGE_WPARAM |
Jendela tempat penunjuk memasuki rentang deteksi. |
Penunjuk melayang melintasi dalam batas jendela. |
IS_POINTER_INRANGE_WPARAM |
Jendela di mana penunjuk telah disilangkan. |
! [Penting]
Ketika jendela kehilangan pengambilan pointer dan menerima pemberitahuan WM_POINTERCAPTURECHANGED, biasanya tidak akan menerima pemberitahuan lebih lanjut. Untuk alasan ini, penting bagi Anda untuk tidak membuat asumsi apa pun berdasarkan pemberitahuan WM_POINTERDOWN/WM_POINTERUP atau WM_POINTERENTER/WM_POINTERLEAVE yang dipasangkan secara merata.
Ketika input berasal dari mouse, sebagai akibat dari integrasi mouse dan pesan pointer, WM_POINTERENTER tidak dikirim.
Persyaratan
Syarat | Nilai |
---|---|
Klien minimum yang didukung |
Windows 8 [hanya aplikasi desktop] |
Server minimum yang didukung |
Windows Server 2012 [hanya aplikasi desktop] |
Header |
|