Bagikan melalui


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.

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
Winuser.h (termasuk Windows.h)

Lihat juga

Pesan

Referensi

GET_POINTERID_WPARAM

IS_POINTER_NEW_WPARAM

IS_POINTER_INRANGE_WPARAM

IS_POINTER_INCONTACT_WPARAM