如何在两次单击之间确定允许鼠标移动的数量,以便触发WM_LBUTTONDBLCLK消息?
MSDN Receiving Double-Click Messages
当用户单击鼠标时,操作系统会生成双击消息 按钮快速连续两次。当用户点击按钮时, OS建立一个以光标热点为中心的矩形。该 操作系统还会标记点击发生的时间。当用户 第二次单击相同的按钮,OS确定是否 热点仍位于矩形内并计算经过的时间 自从第一次点击。如果热点仍在矩形内 并且经过的时间不超过a的超时值 双击,操作系统生成双击消息。一个应用程序 可以使用。来检索双击的超时值 GetDoubleClickTime函数。
我能够确定允许的最大时间间隔GetDoubleClickTime,但想知道允许的最大鼠标时刻。
答案 0 :(得分:7)
来自GetSystemMetrics的文档:
第二次单击必须在由定义的矩形内进行 SM_CXDOUBLECLK和SM_CYDOUBLECLK为系统考虑两者 点击双击。
int x_limit = GetSystemMetrics(SM_CXDOUBLECLK);
int y_limit = GetSystemMetrics(SM_CYDOUBLECLK);