WM_LBUTTONDOWN
WM_LBUTTONDOWN Notification
WM_LBUTTONDOWN消息当用户在window客户区域点击鼠标左键的时候发送。如果当前鼠标没有被捕捉,消息发送给鼠标下面的window窗体。否则,消息发送给当前捕捉鼠标消息的方法。
window窗体通过WindowProc函数接收此消息。
语法
WM_LBUTTONDOWN
WPARAM wParam
LPARAM lParam;
参数
wParam
指示是否其它键被按下。此参数可以是以下的直:
MK_CONTROL
键盘CTRL键被按下。
MK_LBUTTON
鼠标左键被按下。
MK_MBUTTON
鼠标中键被按下。
MK_RBUTTON
鼠标右键被按下。
MK_SHIFT
键盘SHIFT键被按下。
MK_XBUTTON1
Windows 2000/XP: The first X button is down.
MK_XBUTTON2
Windows 2000/XP: The second X button is down.lParam
低字节表示光标的X坐标,坐标是相对于客户区域的左上角。
高字节表示光标的Y坐标,坐标是相对于客户区域的左上角。返回值
如果程序处理了这个消息,返回0。
备注
使用以下代码获取光标的坐标:
1.xPos = GET_X_LPARAM(lParam);
2.yPos = GET_Y_LPARAM(lParam);
以上代码需要使用ATL库,如果您没有使用SDK库,可以用下面代码:
1.xPos = LOWORD(lParam);
2.yPos = HIWORD(lParam);
您也可以使用MAKEPOINTS宏转换lParam参数到POINTS结构。
要检测ATL键是否被按下,请使用GetKeyState(VK_MENU)<0,注意,不能使用GetAsyncKeyState。