NSWindow регистрирует события мыши (используя NSTrackingArea), даже если приложение не сфокусировано? - PullRequest
5 голосов
/ 09 июня 2011

Итак, я работаю над приложением для наложения рабочего стола, которое использует область отслеживания, чтобы определить, что мышь входит и выходит из этой области, а затем что-то делает. По сути, я строю прямоугольник, который бы знал, зависла ли мышь над ним, и изменился бы (крайне простой ролловер.)

Единственная сложность в том, что я хочу, чтобы это было в состоянии регистрировать эти события всякий раз, когда они видны, даже если это не первый респондент или ключ. Проблема в том, что для того, чтобы он регистрировал события mouseEntered и mouseExited, мне нужно сначала щелкнуть окно, чтобы оно стало ключом, а затем оно хорошо их регистрирует.

У меня вопрос: как лучше всего это реализовать? Я не смог найти идеальное решение, хотя я близко.

Следующая ссылка позволяет регистрировать события CLICK, даже если он не сфокусирован, но я не смог найти что-то, что позволило бы ему на самом деле зарегистрировать mouseEntered и mouseExited.

Заставить приложение OSX реагировать на первый щелчок мыши, когда оно не сфокусировано

1 Ответ

5 голосов
/ 10 июня 2011

Создайте NSTrackingArea с параметром NSTrackingActiveAlways.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...