游戏鼠标左键单击变成双击会成双击这怎么回事,有好点的推荐下?

在Windows平台上鼠标左键的按下、松開、快速的两次点击会产生WM_LBUTTONDOWN、WM_LBUTTONUP和WM_LBUTTONDBLCLK消息,但是Windows根据什么来区分连续的两次鼠标按键操作是两次独立的单击,还是一次双击呢最近在解决┅个问题时,通过使用Spy++和查阅MSDN弄清楚了这个问题。简单总结如下:
    这是很容易想到的更准确的说法是这样的,

两次单击会产生四个鼠標点击消息如果第三个消息(第二次按下)和第二个消息(第一次弹起引发的WM_LBUTTONUP)间隔短于指定值,则把第三个消息处理成WM_LBUTTONDBLCLK消息;第四个消息照旧WM_LBUTTONUP。

因此连续两次按下和弹起鼠标左键:

以上结论还隐含两个要点:
(1)不管是算作两次连续的单击,还是一次双击第一、②和四个消息都是不受影响的。在接受到一个双击消息之前应用程序总是会先收到一个WM_LBUTTONDOWN和一个WM_LBUTTONUP消息,之后是WM_LBUTTONUP消息应用程序应该对各种消息做出恰当的处理;
(2)第二个消息和第三个消息是关键,必须被连续发到同一个窗口过程才能被处理开发中常见的一个错误是这样嘚:在处理第一个消息WM_LBUTTONDOWN或者WM_LBUTTONUP时,通过SetCapture捕获后续的鼠标消息转发到别的窗口,导致原窗口不能识别双击而这个双击可能正是期望的。

}

在Win7系统开始菜单上打开控制面板,然后在控制面板上打开“鼠标”打开鼠标属性窗口。在鼠标属性窗口中点击锁定下勾选“启用单击锁定”,然后再点击确定按钮保存设置

你对这个回答的评价是?

}

我要回帖

更多关于 鼠标左键单击变成双击 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信