2014-02-05 2 views
7

Я пишу плагин для приложения - пользовательская комбинация клавиш. Я могу пройти через его взгляды. Мне нужно открыть всплывающее меню, выбрать элемент в нем, затем открыть его подменю и выбрать какой-либо элемент в подменю.NSMenu программным образом выбирает элемент

На данный момент я могу открыть только всплывающее меню, отправив performClick: в соответствующий элемент NSPopUpButton.

Как программно выбрать элемент в меню и открыть его подменю?

Я пробовал:

  • вызов selectItem: на NSPopUpButton (и связанных с ними NSMenu). Не повезло, и я вижу понятие в doc: «Обратите внимание, что, когда меню отслеживает ввод пользователя, программные изменения в меню, такие как добавление, удаление или изменение элементов в меню, не отражаются»
  • отправлять события клавиатуры (используя this answer). Не повезло - может быть, потому что я держу некоторые ключи в момент отправки этих событий
  • , чтобы найти информацию о том, как это сделать с помощью API Accessibility, но я просто ничего не могу найти о том, как его использовать Применение (или даже на любом другом приложении, но с Objective-C)
+0

Вы также посмотрели на 'performClick:'? – Volker

+0

@ Волькер, что вы имеете в виду? Я открываю всплывающее меню с помощью 'performClick:' на 'NSPopUpButton' – cody

ответ

0

В дополнение к ответу @LCC «s, вы также можете позвонить indexOfItem на NSMenu

NSInteger index = [item.menu indexOfItem:item]; 
[item.menu performActionForItemAtIndex:index]; 

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

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