如何从子菜单中获取所选的NSMenuItem?

时间:2016-07-05 17:56:22

标签: macos cocoa nsmenu nsmenuitem nspopupbuttoncell

我有一个API,允许用户使用子菜单创建弹出菜单,当用户点击属于子菜单的选项时,我在检测所选项目时遇到问题。

所以,显示和"建设"弹出菜单是正确的,它工作正常。从NSMenu开始,我添加了一些NSMenuItems,然后对于一些NSMenuItems,我添加了一个带有一些NSMenuItems的新NSMenu。

当我点击属于子菜单的项目时,问题就开始了,我得到的selectedItem总是为零。它适用于主菜单。以下是我显示菜单的方式:

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 个答案:

没有答案
相关问题