2015-01-12 4 views
0

В моем приложении есть странная проблема, что пользовательский NSView получает пересылаемые mouseDragged события, когда окно перетаскивается по экрану, как правило, его панелью инструментов.NSView получает перетаскиваемые события при перетаскивании окна

Из трассировки стека кажется, что каркасы Cocoa делают это самостоятельно.
(Возможно, обычная Ответчик цепь вещь)

Теперь я пытаюсь обнаружить возникла ли потащил-событие с моей точки зрения, или где-то еще - есть ли надежный способ сделать это?

Я не мог найти публичного участника, который сохранил бы представление, в котором произошла ошибка мыши (хотя NSEvent, кажется, хранит его внутри частного поля).

Или любой вариант настройки окна, чтобы не пересылать перетаскиваемые сообщения, может быть?

Любые подсказки, оцененные!

ответ

0

NSEvent имеет locationInWindow, который возвращает местоположение, где произошло событие NSPoint. Вместе с NSPointInRect вы можете проверить, находится ли ваше местоположение в вашей оконной раме или аналогичной.

+0

Это то, что я делаю уже - преобразование точки в событии для просмотра скоординированного, проверки на кадр представления, но оно не работает всегда, например. когда дико перетаскивая окно на панель инструментов. – cacau

 Смежные вопросы

  • Нет связанных вопросов^_^