Получение окна без полей для получения событий mouseMoved (Cocoa OSX) - PullRequest
1 голос
/ 26 марта 2010

У меня есть небольшое всплывающее окно, используемое для выбора изображений, отсортированных по группам, и я хотел бы добавить поле выбора вокруг любого изображения, над которым наведен курсор. Я пытаюсь это переопределить событие mouseMoved для окна, но кажется, что окно с маской стиля без полей не получает события mouseMoved, даже если вы установили для setAcceptsMouseMoved события YES. Есть ли способ заставить окно без полей получать эти события?

1 Ответ

4 голосов
/ 26 марта 2010

Вы должны позволить окну стать ключевым окном. По умолчанию окна без полей не могут стать ключевыми. Подкласс NSWindow и переопределение -canBecomeKeyWindow:

- (BOOL)canBecomeKeyWindow
{
    return YES;
}

В качестве альтернативы вы можете использовать NSTrackingArea для отслеживания мыши, что в любом случае может быть проще / лучше.

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