Отображение пользовательских/произвольных элементов управления в NSMenu

Как я могу отобразить NSTextField или NSProgressIndicator в NSMenu? Я хочу сделать что-то похожее на меню значков Spotlight или меню «Справка» большинства приложений.


person anthony    schedule 04.09.2010    source источник


Ответы (1)


Вы можете использовать для этого метод [NSMenu - setView:]. Но вы не можете добавить NSTextField без серьезных хаков. Apple по-прежнему использует для меню устаревшую реализацию Carbon. Если вам нужны нажатия клавиш, вам нужно спуститься в Carbon и немного поколдовать для обработки клавиш.

Это настолько хуже, что вы даже не запустите действие меню, если пользователь выберет пункт меню с помощью клавиши возврата.

По этой причине в официальном образце Apple ползунок просто отображается как встроенное меню.

Пожалуйста, поднимите эту тему в официальном списке рассылки Apple, чтобы Apple увидела, что это необходимая функция, и она скоро будет исправлена.

person Lothar    schedule 04.09.2010