Delen via


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

Zie ook

GET_X_LPARAM

GET_Y_LPARAM

GetCapture-

GetKeyState-

SetCapture-

WM_LBUTTONDBLCLK

WM_LBUTTONUP

conceptuele

muisinvoer

andere resources

MAKEPOINTS-

PUNTEN