2011-01-03 23 views
1

共通のスーパービューのサブビューであるNSViewの2つのサブクラスがあります。それらは重複せず、両方ともmousedragged呼び出しを傍受します。サブクラスの1つから別のサブクラスにドラッグすると、画面全体をドラッグしてもマウスボタンを離すまでmousedragged関数が呼び出されます。私はデフォルトの動作は、マウスが受信機の境界を超えていたときにだけ呼び出されるmousedragged関数のものでした。 Iamはまた、マウス用NSTrackingAreaを使用すると、exitと入力して、イベントを移動し、私は読んでいたものからドラッグイベント他のビューでドラッグするとMouseDraggedが解放されない

を伴わない、お時間 ホセありがとうございました。

+0

これは正常な動作です。あなたの質問は何ですか? –

+0

さて、前とは違う行動をしていましたが、残念ながら私は何が変わったのか分かりません。 mousedraggedイベントは、その境界に入るとすぐに他のサブクラスビューにジャンプしていました。それが私の必要なものです。 –

答えて

0

NSWindowをサブクラス化し、sendEvent:を上書きすることができます。そうすれば、NSLeftMouseDraggedイベントを傍受し、あなたが望むどんな方法ででもそれらを送信することができます。

+0

ありがとうTom、これはうまくいく..私がやったことは、両方のサブビューで[super mousedragged]を呼び出すことでした。そして、superviewは、場所に応じて[subview distributed_mouseDragged]を呼び出します。 –

関連する問題