Megosztás a következőn keresztül:


WM_LBUTTONDOWN üzenet

Közzétéve, amikor a felhasználó lenyomja a bal egérgombot, miközben a kurzor az ablak ügyfélterületén van. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret.

Az ablak a WindowProc függvényen keresztül kapja meg ezt az üzenetet.

#define WM_LBUTTONDOWN                  0x0201

Paraméterek

wParam

Azt jelzi, hogy a különböző virtuális kulcsok leállnak-e. Ez a paraméter az alábbi értékek közül egy vagy több lehet.

Érték Jelentés
MK_CONTROL
0x0008
A CTRL billentyű le van omlva.
MK_LBUTTON
0x0001
A bal egérgomb le van gombra kattintva.
MK_MBUTTON
0x0010
A középső egérgomb le van va.
MK_RBUTTON
0x0002
A jobb egérgomb le van omlva.
MK_SHIFT
0x0004
A SHIFT billentyű le van omlva.
MK_XBUTTON1
0x0020
A XBUTTON1 leállt.
MK_XBUTTON2
0x0040
A XBUTTON2 leállt.

lParam

Az alacsonyrendű szó a kurzor x koordinátáját adja meg. A koordináta az ügyfélterület bal felső sarkához viszonyítva van.

A magasrendű szó a kurzor y koordinátáját adja meg. A koordináta az ügyfélterület bal felső sarkához viszonyítva van.

Visszaadott érték

Ha egy alkalmazás feldolgozza ezt az üzenetet, nullát kell visszaadnia.

Példa

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;
}

További példákért lásd Klasszikus Windows-minták a GitHubon.

Megjegyzések

Amint fentebb említettük, az x koordináták a visszatérési érték alacsony rövid; az y koordináta nagy sorrendben rövid (mindkettő aláírt értékeket jelöl, mert több monitorral rendelkező rendszereken negatív értékeket vehet fel). Ha a visszatérési érték egy változóhoz van rendelve, a MAKEPOINTS makróval lekérhet egy PONT struktúrát a visszatérési értékből. A GET_X_LPARAM vagy GET_Y_LPARAM makróval is kinyerheti az x vagy az y koordinátát.

Fontos

Ne használja a LOWORD vagy HIWORD makrókat a kurzor pozíciójának x- és y koordinátáinak kinyeréséhez, mert ezek a makrók helytelen eredményeket adnak vissza több monitorral rendelkező rendszereken. A több monitorral rendelkező rendszerek negatív x és y koordinátákkal rendelkezhetnek, a LOWORD és HIWORD pedig aláíratlan mennyiségként kezelik a koordinátákat.

Az ALT billentyű lenyomása észleléséhez ellenőrizze, hogy GetKeyState-e VK_MENU< 0-val. Ne feledje, hogy ez nem lehet GetAsyncKeyState.

Követelmények

Követelmény Érték
Minimálisan támogatott ügyfél
Windows 2000 Professional [csak asztali alkalmazások]
Minimálisan támogatott kiszolgáló
Windows 2000 Server [csak asztali alkalmazások]
Fejléc
Winuser.h (a Windowsx.h is)

Lásd még:

referencia

GET_X_LPARAM

GET_Y_LPARAM

GetCapture

GetKeyState

SetCapture

WM_LBUTTONDBLCLK

WM_LBUTTONUP

fogalmi

egérbemeneti

Egyéb erőforrások

MAKEPOINTS

POINTS