Applies to: desktop apps only
Posted when the user presses the left mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.
A window receives this message through its WindowProc function.
#define WM_LBUTTONDOWN 0x0201
Parameters
- wParam
-
Indicates whether various virtual keys are down. This parameter can be one or more of the following values.
- lParam
-
The low-order word specifies the x-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.
The high-order word specifies the y-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.
Return value
If an application processes this message, it should return zero.
Remarks
Use the following code to obtain the horizontal and vertical position:
xPos = GET_X_LPARAM(lParam); yPos = GET_Y_LPARAM(lParam);
You can also use the MAKEPOINTS macro to convert the lParam parameter to a POINTS structure.
To detect that the ALT key was pressed, check whether GetKeyState with VK_MENU < 0. Note, this must not be GetAsyncKeyState.
Requirements
|
Minimum supported client | Windows 2000 Professional |
|---|---|
|
Minimum supported server | Windows 2000 Server |
|
Header |
|
See also
- Reference
- GET_X_LPARAM
- GET_Y_LPARAM
- GetCapture
- GetKeyState
- SetCapture
- WM_LBUTTONDBLCLK
- WM_LBUTTONUP
- Conceptual
- Mouse Input
- Other Resources
- MAKEPOINTS
- POINTS
Send comments about this topic to Microsoft
Build date: 3/6/2012
If you are having problems using GET_X_LPARAM/GET_Y_LPARAM, *try #include <windowsx.h>
Also, if you don't want to include windowsx,
For the X position, you can use LOWORD(lParam)For the Y position, you can use HIWORD(lParam)*Not mentioned on this site
[tfl - 27-6-08] These pages are a work in progress - and inevitably some pages need more work. The MSDN Wiki (and TechNet Wiki) teams are aware and can see these updates. Slowly, the underlying pages are getting updated. Thanks to Dzonny for all his hard work in documenting these. If there are pages where you feel there is stuff missing - post content on the relevant page and tage it contentbug (as I've tagged this updated comment. HTH. Thomas