当用户(单击并)同时释放左右鼠标时,我正在尝试对特定行为进行编程。是否有已知的方法来捕获此类事件/手势。我知道如何捕获 leftButtonUp 和 rightButtonUp 但不确定如何捕获此事件。
如果按下左按钮,然后按增量延迟按下右按钮,则可以。当用户释放右键/左键时,如果随后在定义的 epsilon 时间内释放其他按钮,则应引发此类事件。
WinAPI 中没有此类事件,但您可以自己跟踪。所有按钮向下/向上消息的wParam包含事件发生时所有按钮的状态信息:
MK_LBUTTON 0x0001 The left mouse button is down.
MK_MBUTTON 0x0010 The middle mouse button is down.
MK_RBUTTON 0x0002 The right mouse button is down.
因此,您需要跟踪更改并定义一个阈值,该阈值将过滤掉您认为是“同时单击/释放”的所有事件
您将需要编写自己的处理方法。记录单击第一个按钮的时间,单击另一个按钮的时间,查看第一个按钮是否仍处于关闭状态以及延迟是否小于您提供的任何增量。
If GetAsyncKey(0x01) && GetAsyncKey(0x02){
DoEvent();
}