Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg)
{
case WM_LBUTTONDOWN:
{
// Extract cursor coordinates using the recommended macros
int xPos = GET_X_LPARAM(lParam);
int yPos = GET_Y_LPARAM(lParam);
// TODO: Add your left-click handling logic here
// For example: track selection, start drag operation, etc.
return 0; // Message processed
}
default:
return DefWindowProc(hWnd, msg, wParam, lParam);
}
}
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 |
|
Lásd még:
-
referencia
-
fogalmi
-
Egyéb erőforrások