1

ユーザーが左右のマウスを同時に (クリックして) 離したときの特定の動作をプログラムしようとしています。そのようなイベント/ジェスチャーをトラップする既知の方法はありますか? leftButtonUp と rightButtonUp をトラップする方法は知っていますが、このイベントをトラップする方法がわかりません。

左ボタンが押され、次に右ボタンがデルタ遅延で押された場合、それは問題ありません。ユーザーが右ボタン/左ボタンを放したときに、定義されたイプシロン時間内に他のボタンを放した場合、そのようなイベントが発生する必要があります。

4

3 に答える 3

1

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.

したがって、変更を追跡し、「同時クリック/リリース」と見なしたいすべてのイベントを除外するしきい値を定義する必要があります。

于 2012-09-27T07:25:49.997 に答える
0
If GetAsyncKey(0x01) && GetAsyncKey(0x02){
DoEvent();
}
于 2015-06-24T21:50:32.633 に答える
0

これを処理する独自のメソッドを作成する必要があります。最初のボタンがクリックされたとき、他のボタンがクリックされたときを記録し、最初のボタンがまだ押されているかどうか、および遅延が指定したデルタよりも小さいかどうかを確認します。

于 2012-09-27T07:25:26.750 に答える