как установить фокус на NSMenu (заставить его получать ключевые события)? - PullRequest
0 голосов
/ 26 августа 2010

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

Спасибо

Нав

1 Ответ

0 голосов
/ 29 августа 2010

Запустить событие kCGEventMouseMoved для mouseUp / Down. Показать / скрыть курсор на ваш выбор ... Основная задача здесь - найти правильное происхождение (глобальная точка мыши). У кого-то есть идея, как найти прямоугольник NSMenuItem?

CGEventRef mouseEvent = CGEventCreateMouseEvent(NULL, kCGEventMouseMoved, NSPointToCGPoint(globalOrigin) , kCGMouseButtonLeft);
CGEventPost(kCGHIDEventTap, mouseEvent);
CFRelease(mouseEvent);
...