Aracılığıyla paylaş


WM_POINTERLEAVE iletisi

İşaretçi algılama aralığını pencerenin üzerinde bıraktığında (üzerine gelindiğinde) veya işaretçi pencerenin sınırlarının dışına çıktığında pencereye gönderilir.

Bir pencere bu iletiyi WindowProc işlevi aracılığıyla alır.

! [Önemli]
Masaüstü uygulamaları DPI'ye duyarlı olmalıdır. Uygulamanız DPI farkında değilse, DPI sanallaştırması nedeniyle işaretçi iletilerinde ve ilgili yapılarda bulunan ekran koordinatları yanlış görünebilir. DPI sanallaştırma, DPI farkında olmayan ve varsayılan olarak etkin olan uygulamalara otomatik ölçeklendirme desteği sağlar (kullanıcılar bunu kapatabilir). Daha fazla bilgi için bkz. Yazma High-DPI Win32 Uygulamaları.

#define WM_POINTERLEAVE                 0x024A

Parametre

wParam

İşaretçi tanımlayıcısını ve ek bilgileri içerir. Bu bilgileri almak için aşağıdaki makroları kullanın.

  • GET_POINTERID_WPARAM(wParam): işaretçi tanımlayıcısı.
  • IS_POINTER_INRANGE_WPARAM(wParam): Bu iletinin algılama aralığını terk etmemiş bir işaretçi tarafından oluşturulup oluşturulmadığını gösterir. İşaretçi pencerenin algılama aralığından ayrıldığında bu bayrak ayarlanmaz.
  • IS_POINTER_INCONTACT_WPARAM(wParam): Bu iletinin kişideki bir işaretçi tarafından oluşturulup oluşturulmadığını gösteren bir bayrak. Bu bayrak algılama aralığındaki bir işaretçi için ayarlanmadı (vurgulama).

lParam

İşaretçinin nokta konumunu içerir.

Not

İşaretçi önemsiz olmayan bir alan üzerinden cihazla iletişim kurabileceğinden, bu nokta konumu daha karmaşık bir işaretçi alanının basitleştirilmesi olabilir. Mümkün olduğunda, bir uygulama nokta konumu yerine tam işaretçi alanı bilgilerini kullanmalıdır.

Noktanın fiziksel ekran koordinatlarını almak için aşağıdaki makroları kullanın.

Dönüş değeri

Bir uygulama bu iletiyi işlerse sıfır döndürmelidir.

Uygulama bu iletiyi işlemezse, DefWindowProcçağırmalıdır.

Açıklamalar

WM_POINTERLEAVE bildirimi, işaretçi pencere yüzeyinin üzerindeyken modu değiştirmek veya kullanıcıya geri bildirim göndermek için bir pencere tarafından kullanılabilir.

Bu bildirim yalnızca işaretçi için giriş alan pencereye gönderilir. Aşağıdaki tabloda, bu bildirimin gönderildiği bazı durumlar listeleniyor.

Eylem Bayrak Kümesi Gönderilen Bildirimler
Üzerine gelinen işaretçi pencere sınırlarını aşıyor. IS_POINTER_INRANGE_WPARAM İşaretçinin hareket ettiği sınırın dışındaki pencere.
İşaretçi algılama aralığının dışına çıkıyor. YOK İşaretçinin algılama aralığını bıraktığı pencere.

! [Önemli]
Bir pencere bir işaretçinin yakalanmasını kaybettiğinde ve WM_POINTERCAPTURECHANGED bildirimini aldığında, genellikle başka bildirim almaz. Bu nedenle, eşit olarak eşleştirilmiş WM_POINTERDOWN/WM_POINTERUP veya WM_POINTERENTER/WM_POINTERLEAVE bildirimlerine dayalı hiçbir varsayımda bulunmamanız önemlidir.

Kişi giriş dijitalleştiricisi ile korunursa ve işaretçi pencerenin dışına taşınırsa, WM_POINTERLEAVE oluşturulmaz. WM_POINTERLEAVE yalnızca üzerine gelinen işaretçi pencere sınırlarını aştığında veya kişi sonlandırıldığında oluşturulur.

WM_POINTERLEAVE, giriş bir fare cihazından geliyorsa gönderilen ileti kuyruğuna postalanır.

Gereksinim -leri

Gereksinim Değer
Desteklenen en düşük istemci
Windows 8 [yalnızca masaüstü uygulamaları]
Desteklenen en düşük sunucu
Windows Server 2012 [yalnızca masaüstü uygulamaları]
Üstbilgi
Winuser.h (Windows.h dahil)

Ayrıca bkz.

İletileri

Başvuru

GET_POINTERID_WPARAM

IS_POINTER_INRANGE_WPARAM

IS_POINTER_INCONTACT_WPARAM