我使用 NSMenu 和 NSStatusItem 以这种方式在状态栏上显示自定义菜单很长时间:
statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:18] retain];
[statusItem setImage:[NSImage imageNamed:@"myIcon"]];
[statusItem setMenu:myMenu];
[statusItem setHighlightMode:NO];
...
通过开始单击其图像图标,它可以正常工作。但我注意到,位于状态栏上的苹果菜单可以通过鼠标移动简单地触发,如机场菜单、电源菜单、语言菜单和日期/时间菜单。当您鼠标走过时,它们都会自动弹出。他们是怎么得到的?
我已经用“mouseEntered”事件检查了 NSView 的“添加跟踪矩形”,但事情并没有我想的那么困难。
有什么建议吗?