へのEventHandlerのsensietivityを改善するために、どのように、私は時々、それは私が、私はちょうどそれをクリックしたにもかかわらず、マウスをドラッグして考えていることに気づきます。私は一度では、私はマウスが完全に固定して動いていないことを確認して、私はちょうどクリックし続けるにもかかわらず、クリックして、印刷メッセージを見て起動すると、ここでは、イベントハンドラを使用してMouseDraggedとのmouseClickedイベント
は簡単な例
EventHandler[Graphics[Circle[{0, 0}, 1]],
"MouseClicked" :> Print["mouse clicked"],
"MouseDragged" :> Print["mouse being dragged"]
]
です私はドラッグメッセージが出てくるのを見ている間に。私は、これはマウスに敏感であることができます(私は良いマウスを持って)理解
は、さえマウスパッド、OS、および手で任意のわずかな動きであってもよいし、これが発生する可能性があります。
私は誰かがこれを試してみて、あなたにも、この問題に気づくかどうかを確認し、誰かが、私はこれを最小限に抑えるためにMathematicaで行うことができますいくつかの設定を知っている場合ができればお願いしたいと思いました。私はEventHandlerのオプションを探していましたが、マウスをドラッグしていると判断したときに時間や遅延を設定しましたが、何も見えませんでした。ここで
は、私はちょうどこれが
おかげ
、Windows 7でのMathematica 8.0.1ですmouse being dragged
mouse clicked
mouse clicked
mouse clicked
mouse clicked
mouse clicked
mouse clicked
mouse clicked
mouse clicked
mouse being dragged
mouse clicked
mouse clicked
上記のコードを実行した後にクリックしていたとき、私は私のシステムで何を得るの出力例です
私は問題ありません。これで。私はちょうど "マウスクリック"を取得します。 (Ubuntu 11.04、Mma 8.0.1および7.0.1) – Simon
お試しいただきありがとうございます。しかし、私のシステム(ウィンドウ7)上にある現在のプログラムでは、MouseDraggedイベントがMouseClickedイベントを盗んでいることが何度も分かります。私は数回のクリックをすることができます、そして、彼らはすべて代わりにMouseDraggedイベントに行きます。これにより、MouseDraggedはそのまま使えるようになりません。そこで、ControlKeyを押したときにドラッグするように変更しました。これでMouseClickedイベントとの競合はなくなりました。しかし、ControlKeyを押さえたままで画面上のポイントをドラッグすると、ControlKeyがない場合よりずっと遅くなることがわかりました。 – Nasser