WM_POINTERENTER pesan
Dikirim ke jendela saat penunjuk baru memasuki rentang deteksi di atas jendela (arahkan kursor) atau saat penunjuk yang ada bergerak di dalam batas jendela.
Jendela menerima pesan ini melalui fungsi WindowProc-nya .
! [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 sadar DPI dan aktif secara default (pengguna dapat menonaktifkannya). Untuk informasi selengkapnya, lihat Menulis Aplikasi Win32 DPI Tinggi.
#define WM_POINTERENTER 0x0249
Parameter
-
wParam
-
Berisi pengidentifikasi penunjuk dan informasi aditonal. 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 penunjuk baru yang memasuki rentang deteksi (arahkan kursor).
- IS_POINTER_INRANGE_WPARAM(wParam): menunjukkan apakah pesan ini dihasilkan oleh pointer 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 penunjuk yang bersentuhan. Bendera ini tidak diatur untuk penunjuk dalam rentang deteksi (arahkan kursor).
-
lParam
-
Berisi lokasi titik penunjuk.
Catatan
Karena pointer dapat melakukan kontak dengan perangkat melalui area yang tidak 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).
Menampilkan nilai
Jika aplikasi memproses pesan ini, aplikasi harus mengembalikan nol.
Jika aplikasi tidak memproses pesan ini, aplikasi harus memanggil DefWindowProc.
Keterangan
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.
Tindakan | Set Bendera | Pemberitahuan Dikirim Ke |
---|---|---|
Penunjuk baru memasuki rentang deteksi (arahkan kursor). | 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 melintasi. |
! [Penting]
Ketika jendela kehilangan tangkapan 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 WM_POINTERDOWN WM_POINTERUP/ yang dipasangkan secara merata ataupemberitahuan WM_POINTERENTER/WM_POINTERLEAVE.
Ketika input berasal dari mouse, sebagai akibat dari integrasi mouse dan pesan penunjuk, WM_POINTERENTER tidak dikirim.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows 8 [khusus aplikasi desktop] |
Server minimum yang didukung |
Windows Server 2012 [hanya aplikasi desktop] |
Header |
|
Lihat juga
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