WM_MOUSEWHEEL iletisi
Fare tekerleği döndürüldüğünde odak penceresine gönderilir. DefWindowProc işlevi iletiyi pencerenin üst öğesine yayılır. DefWindowProc bunu işleyen bir pencere bulana kadar üst zincire yaydığından, iletinin iç iletmesi olmamalıdır.
Bir pencere bu iletiyi WindowProc işlevi aracılığıyla alır.
#define WM_MOUSEWHEEL 0x020A
Parametre
-
wParam
-
Yüksek sıralı sözcük, tekerleğin döndürülmesi mesafesini gösterir, WHEEL_DELTAkatları veya bölmeleriyle ifade edilir ve 120'dir. Pozitif bir değer, tekerleğin kullanıcıdan uzakta ileri doğru döndürüldüğünü gösterir; negatif bir değer, tekerleğin geriye, kullanıcıya doğru döndürüldüğünü gösterir.
Düşük sıralı sözcük, çeşitli sanal anahtarların devre dışı olup olmadığını gösterir. Bu parametre aşağıdaki değerlerden biri veya daha fazlası olabilir.
Değer Anlam - MK_CONTROL
- 0x0008
CTRL tuşu çalışmıyor. - MK_LBUTTON
- 0x0001
Sol fare düğmesi çalışmıyor. - MK_MBUTTON
- 0x0010
Ortadaki fare düğmesi çalışmıyor. - MK_RBUTTON
- 0x0002
Sağ fare düğmesi çalışmıyor. - MK_SHIFT
- 0x0004
SHIFT tuşu çalışmıyor. - MK_XBUTTON1
- 0x0020
XBUTTON1 çalışmıyor. - MK_XBUTTON2
- 0x0040
XBUTTON2 çalışmıyor. -
lParam
-
Düşük sıralı sözcük, işaretçinin x koordinatını ekranın sol üst köşesine göre belirtir.
Yüksek sıralı sözcük, işaretçinin y koordinatını ekranın sol üst köşesine göre belirtir.
Dönüş değeri
Bir uygulama bu iletiyi işlerse sıfır döndürmelidir.
Açıklamalar
wParam parametresindeki bilgileri almak için aşağıdaki kodu kullanın:
fwKeys = GET_KEYSTATE_WPARAM(wParam);
zDelta = GET_WHEEL_DELTA_WPARAM(wParam);
Yatay ve dikey konumu elde etmek için aşağıdaki kodu kullanın:
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);
Yukarıda belirtildiği gibi, x koordinatı dönüş değerinin düşük sırada kısa; y koordinatı yüksek sıralı kısa (her ikisi de birden çok monitöre sahip sistemlerde negatif değerler alabildiği için imzalı değerleri temsil eder). Dönüş değeri bir değişkene atanmışsa, dönüş değerinden POINTS yapısı elde etmek için MAKEPOINTS makrosunu kullanabilirsiniz. x veya y koordinatını ayıklamak için GET_X_LPARAM veya GET_Y_LPARAM makroyu da kullanabilirsiniz.
Önemli
İmleç konumunun x ve y koordinatlarını ayıklamak için LOWORD veya HIWORD makroları kullanmayın çünkü bu makrolar birden çok monitöre sahip sistemlerde yanlış sonuçlar döndürür. Birden çok monitöre sahip sistemler negatif x ve y koordinatlarına sahip olabilir ve lowORD
Tekerlek rotasyonu, 120 olarak ayarlanan WHEEL_DELTAkatı olacaktır. Bu, gerçekleştirilecek eylemin eşiğidir ve her delta için bu tür bir eylem (örneğin, bir artım kaydırma) gerçekleşmelidir.
Delta, Microsoft'un veya diğer satıcıların döndürme başına daha fazla ileti göndermek için daha ince çözünürlüklü tekerlekler (çentiksiz serbest dönen bir tekerlek) oluşturmasına izin vermek için 120 olarak ayarlandı, ancak her iletide daha küçük bir değerle. Bu özelliği kullanmak için, WHEEL_DELTA ulaşılana kadar gelen delta değerlerini ekleyebilir (delta döndürme için aynı yanıtı alırsınız) veya daha sık iletiye yanıt olarak kısmi satırları kaydırabilirsiniz. Ayrıca, kaydırma ayrıntı düzeyinizi seçebilir ve ulaşılana kadar deltaları biriktirebilirsiniz.
MSH_MOUSEWHEELiçin fwKey olmadığını unutmayın. Aksi takdirde, parametreler WM_MOUSEWHEELile tam olarak aynıdır.
MSH_MOUSEWHEEL eklenmiş nesnelere veya denetimlere iletmek uygulamaya bağlı. Uygulamanın iletiyi etkin bir katıştırılmış OLE uygulamasına göndermesi gerekir. Uygulamanın isteğe bağlı olarak, odakla tekerlek özellikli bir denetime göndermesi gerekir. Uygulama iletiyi bir denetime gönderirse, iletinin işlenip işlenmediğini görmek için dönüş değerini denetleyebilir. denetimler, iletiyi işlerse TRUE
Gereksinim -leri
Gereksinim | Değer |
---|---|
Desteklenen en düşük istemci |
Windows 2000 Professional [yalnızca masaüstü uygulamaları] |
Desteklenen en düşük sunucu |
Windows 2000 Server [yalnızca masaüstü uygulamaları] |
Üstbilgi |
|
Ayrıca bkz.
-
Başvuru
-
HIWORD
-
LOWORD
-
kavramsal
-
fare girişi
-
Diğer Kaynaklar
-
GetSystemMetrics
-
MAKEPOINTS