Aracılığıyla paylaş


WM_MOUSEHWHEEL iletisi

Farenin yatay kaydırma tekerleği eğildiğinde veya döndürüldüğünde etkin pencereye 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_MOUSEHWHEEL                  0x020E

Parametre

wParam

Yüksek sıralı sözcük, tekerleğin döndürülmesi mesafesini belirtir, 120 olarak ayarlanmış WHEEL_DELTAkatlarıyla veya faktörleriyle ifade edilir. Pozitif değer, tekerleğin sağa döndürüldüğünü gösterir; negatif bir değer, tekerleğin sola 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 ve HIWORD koordinatları işaretsiz miktarlar olarak kabul eder.

Tekerlek döndürme, 120 olarak ayarlanmış WHEEL_DELTAkatıdı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ü jantlar (örneğin, çentiksiz serbestçe dönen 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 iletilere 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.

Gereksinim -leri

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

Ayrıca bkz.

Başvuru

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_Y_LPARAM

GET_WHEEL_DELTA_WPARAM

HIWORD

LOWORD

mouse_event

kavramsal

fare girişi

Diğer Kaynaklar

GetSystemMetrics

MAKEPOINTS

PUAN

SystemParametersInfo