如何在两次单击之间确定允许鼠标移动的数量,以便触发WM_LBUTTONDBLCLK消息?

时间:2015-05-28 03:05:55

标签: windows winapi wndproc

如何在两次单击之间确定允许鼠标移动的数量,以便触发WM_LBUTTONDBLCLK消息?

MSDN Receiving Double-Click Messages

  

当用户单击鼠标时,操作系统会生成双击消息   按钮快速连续两次。当用户点击按钮时,   OS建立一个以光标热点为中心的矩形。该   操作系统还会标记点击发生的时间。当用户   第二次单击相同的按钮,OS确定是否   热点仍位于矩形内并计算经过的时间   自从第一次点击。如果热点仍在矩形内   并且经过的时间不超过a的超时值   双击,操作系统生成双击消息。一个应用程序   可以使用。来检索双击的超时值   GetDoubleClickTime函数。

我能够确定允许的最大时间间隔GetDoubleClickTime,但想知道允许的最大鼠标时刻。

1 个答案:

答案 0 :(得分:7)

来自GetSystemMetrics的文档:

  

第二次单击必须在由定义的矩形内进行   SM_CXDOUBLECLK和SM_CYDOUBLECLK为系统考虑两者   点击双击。

int x_limit = GetSystemMetrics(SM_CXDOUBLECLK);
int y_limit = GetSystemMetrics(SM_CYDOUBLECLK);