Как получить выбранный NSMenuItem из подменю?

У меня есть API, который позволяет пользователям создавать всплывающие меню с подменю, и у меня возникают проблемы с обнаружением выбранного элемента, когда пользователь нажимает на параметр, который принадлежит подменю.

Итак, отображение и "конструкция" всплывающего меню правильная и работает нормально. Начиная с NSMenu, я добавляю несколько NSMenuItems, затем для некоторых NSMenuItems я добавляю новое NSMenu с еще несколькими NSMenuItems.

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

NSRect frame = NSMakeRect(mp.origin.x + 10, mp.origin.y + 10, 1, 1);

NSPopUpButtonCell *cell = [[NSPopUpButtonCell alloc] initTextCell: @"" pullsDown: NO];
[cell setAutoenablesItems: NO];
[cell setAltersStateOfSelectedItem: NO];
[cell setMenu: mainMenu];
[cell selectItem: Nil];
[cell performClickWithFrame: frame inView: [window initialFirstResponder]];

NSMenuItem *xpto = [cell selectedItem];

0 ответов

Другие вопросы по тегам