本文将介绍鼠标响应事件各个常量的值,下面分别是常量名-备注-常量值
WM_LBUTTONDOWN按下左键513
WM_LBUTTONUP松开左键514
WM_MBUTTONDOWN按下中间按钮519
WM_MBUTTONUP松开中间按钮520
WM_RBUTTONDOWN按下右键516
WM_RBUTTONUP松开右侧517
WM_XBUTTONDOWN按下 XBUTTON1 或 XBUTTON2 523
WM_XBUTTONUP松开 XBUTTON1 或 XBUTTON2 524 "发送此消息给那个窗口的大小和位置已经被改变时,来调用setwindowpos函数或其它窗口管理函数"
通过上述常量,可以用如下操作:
PostMessage(hWnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(0, 0));
或SendMessage(hWnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(0, 0));
其中MAKELPARAM的计算是通过将x直接放入lParam的低位16位,y需要左移16位,然后放入lParam的高位16位实现。
用代码表述也就是 x | (y << 16)
同样,在易语言里我们可以简易的通过乘法计算,也就是x + (65536 * y)
那么最终我们的代码就是 SendMessageA (句柄, 513, 1, X + 65536 × Y)
TIPS:
解析
在 WindowsX.h中,我们可以通过:
int xPos = GET_X_LPARAM(lParam);
int yPos = GET_Y_LPARAM(lParam);
对XY坐标解析出来,易语言则同样需要位操作实现解析XY坐标