Aracılığıyla paylaş


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 ve HIWORD koordinatları işaretsiz miktarlar olarak kabul eder.

ALT tuşuna basıldığını algılamak için GetKeyState VK_MENU 0 ile olup olmadığını denetleyin. Bunun GetAsyncKeyStateolmaması gerektiğini unutmayın.

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
Winuser.h (Windowsx.h dahil)

Ayrıca bkz.

Başvuru

GET_X_LPARAM

GET_Y_LPARAM

GetCapture

GetKeyState

SetCapture

WM_LBUTTONDBLCLK

WM_LBUTTONUP

kavramsal

fare girişi

Diğer Kaynaklar

MAKEPOINTS

PUAN