WM_LBUTTONDOWN iletisi
kullanıcı bir pencerenin istemci alanındayken sol fare düğmesine bastığında postalanır. Fare yakalanmazsa, ileti imlecin altındaki pencereye postalanır. Aksi takdirde, ileti fareyi yakalayan pencereye postalanır.
Bir pencere bu iletiyi WindowProc işlevi aracılığıyla alır.
#define WM_LBUTTONDOWN 0x0201
Parametre
-
wParam
-
Ç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, imlecin x koordinatını belirtir. Koordinat, istemci alanının sol üst köşesine göredir.
Yüksek sıralı sözcük, imlecin y koordinatını belirtir. Koordinat, istemci alanının sol üst köşesine göredir.
Dönüş değeri
Bir uygulama bu iletiyi işlerse sıfır döndürmelidir.
Örnek
LRESULT CALLBACK WndProc(_In_ HWND hWnd, _In_ UINT msg, _In_ WPARAM wParam, _In_ LPARAM lParam)
{
POINT pt;
switch (msg)
{
case WM_LBUTTONDOWN:
{
pt.x = GET_X_LPARAM(lParam);
pt.y = GET_Y_LPARAM(lParam);
}
break;
default:
return DefWindowProc(hWnd, msg, wParam, lParam);
}
return 0;
}
Daha fazla örnek için bkz. GitHubda Windows Klasik Örnekleri.
Açıklamalar
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
ALT tuşuna basıldığını algılamak için GetKeyState
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
-
GetCapture
-
GetKeyState
-
SetCapture
-
kavramsal
-
fare girişi
-
Diğer Kaynaklar
-
MAKEPOINTS