WM_LBUTTONDOWN bericht
Geplaatst wanneer de gebruiker op de linkermuisknop drukt terwijl de cursor zich in het clientgebied van een venster bevindt. Als de muis niet wordt vastgelegd, wordt het bericht onder de cursor in het venster geplaatst. Anders wordt het bericht geplaatst in het venster dat de muis heeft vastgelegd.
Een venster ontvangt dit bericht via de functie WindowProc.
#define WM_LBUTTONDOWN 0x0201
Parameters
-
wParam-
-
Hiermee wordt aangegeven of verschillende virtuele sleutels niet beschikbaar zijn. Deze parameter kan een of meer van de volgende waarden zijn.
Waarde Betekenis - MK_CONTROL
- 0x0008
De Ctrl-toets is niet beschikbaar. - MK_LBUTTON
- 0x0001
De linkermuisknop is offline. - MK_MBUTTON
- 0x0010
De middelste muisknop is omlaag. - MK_RBUTTON
- 0x0002
De rechtermuisknop is omlaag. - MK_SHIFT
- 0x0004
De Shift-toets is niet beschikbaar. - MK_XBUTTON1
- 0x0020
De XBUTTON1 is offline. - MK_XBUTTON2
- 0x0040
De XBUTTON2 is uit. -
lParam-
-
Het woord met lage volgorde geeft de x-coördinaat van de cursor aan. De coördinaat is relatief ten opzichte van de linkerbovenhoek van het clientgebied.
Het woord met hoge volgorde geeft de y-coördinaat van de cursor aan. De coördinaat is relatief ten opzichte van de linkerbovenhoek van het clientgebied.
Retourwaarde
Als een toepassing dit bericht verwerkt, moet het nul retourneren.
Voorbeeld
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;
}
Zie klassieke Windows-voorbeelden op GitHub voor meer voorbeelden.
Opmerkingen
Zoals hierboven vermeld, bevindt de x-coördinaat zich in de lage volgorde korte van de retourwaarde; de y-coördinaat bevindt zich in de volgorde korte (beide vertegenwoordigen ondertekende waarden omdat ze negatieve waarden op systemen met meerdere monitors kunnen aannemen). Als de retourwaarde is toegewezen aan een variabele, kunt u de macro MAKEPOINTS- gebruiken om een PUNTEN structuur te verkrijgen van de retourwaarde. U kunt ook de GET_X_LPARAM of GET_Y_LPARAM macro gebruiken om de x- of y-coördinaat op te halen.
Belangrijk
Gebruik de LOWORD- of HIWORD- macro's niet om de x- en y-coördinaten van de cursorpositie te extraheren, omdat deze macro's onjuiste resultaten retourneren op systemen met meerdere beeldschermen. Systemen met meerdere monitors kunnen negatieve x- en y-coördinaten hebben, en LOWORD- en HIWORD- de coördinaten behandelen als niet-ondertekende hoeveelheden.
Als u wilt detecteren dat de Alt-toets is ingedrukt, controleert u of GetKeyState met VK_MENU< 0. Opmerking: dit mag niet worden GetAsyncKeyState.
Eisen
Eis | Waarde |
---|---|
Minimaal ondersteunde client |
Windows 2000 Professional [alleen desktop-apps] |
Minimaal ondersteunde server |
Windows 2000 Server [alleen desktop-apps] |
Rubriek |
|
Zie ook
-
-
conceptuele
-
andere resources