新闻资讯
看你所看,想你所想

WM_LBUTTONDOWN

WM_LBUTTONDOWN

WM_LBUTTONDOWN

WM_LBUTTONDOWN是一个计算机函式,功能是讯息当用户在window客户区域点击滑鼠左键的时候传送。如果当前滑鼠没有被捕捉,讯息传送给滑鼠下面的window窗体。否则,讯息传送给当前捕捉滑鼠讯息的方法。

基本介绍

  • 中文名:WM_LBUTTONDOWN
  • 语法:wParam
  • 接收方法:通过WindowProc函式接收
  • 注意:不能使用GetAsyncKeyState

简介

window窗体通过WindowProc函式接收此讯息。

语法

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.lParamlParam
低位元组表示游标的X坐标,坐标是相对于客户区域的左上角。高位元组表示游标的Y坐标,坐标是相对于客户区域的左上角。返回值
如果程式处理了这个讯息,返回0。

备注

使用以下代码获取游标的坐标:
1.xPos = GET_X_LPARAM(lParam);
2.yPos = GET_Y_LPARAM(lParam);
以上代码需要使用ATL库,定义在windowsx.h中您也可以使用MAKEPOINTS宏转换lParam参数到POINTS结构。
请注意,如下方法:
1.xPos = LOWORD(lParam);
2.yPos = HIWORD(lParam);
即使用LOWORD和HIWORD来获取坐标是不合适的,参考MSDN中对GetMessagePos函式的一段说明:Important Do not use the LOWORD or HIWORD macros to extract the x- and y- coordinates of the cursor position because these macros return incorrect results on systems with multiple monitors. Systems with multiple monitors can have negative x- and y- coordinates, and LOWORD and HIWORD treat the coordinates as unsigned quantities.简要翻译:不要使用LOWORD或HIWORD宏来获取滑鼠位置,因为这两个宏在多显示器的系统中返回不正确的值。在多显示器的系统中可能会有负值的x和y轴的坐标,但LOWORD和HIWORD将坐标视为非负数。追根溯源,通过这几个宏的定义我们能够更好地理解这个问题:

转载请注明出处海之美文 » WM_LBUTTONDOWN

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com