我正在尝试在 Obj-C/Cocoa 中创建一个简单的小状态栏应用程序。
所以我务实地做到了——声明一个 NSStatusItem,将它添加到 NSStatusBar,然后给它一个 NSMenu 对象。有点像这样...
NSStatusBar *bar = [NSStatusBar systemStatusBar];
theItem = [bar statusItemWithLength:NSVariableStatusItemLength];
[theItem retain];
[theItem setTitle: NSLocalizedString(@"Tablet",@"")];
[theItem setHighlightMode:YES];
[theItem setMenu:theMenu];
(示例取自“状态栏编程主题”,Apple 文档)
现在理想情况下,我希望这个应用程序能够运行,并且不能从 CMD/ALT 窗口更改“菜单”访问(因为没有更好的词),我以前见过应用程序这样做并且真的很想要。我的想法是我只希望它可以从每个窗口访问,同时在状态栏上没有自己的 NSMenu,同时不能将它作为活动应用程序( - 所以它不能接管整个状态栏, 并且无法通过 CMD/ALT 看到)
此外,我想知道 StatusBarItem 是否支持将项目拖放到其上的能力?我不确定这是否是 NSStatusBar 的限制。
我已经阅读了关于守护进程和代理的内容,但对于如此简单的应用程序来说,这似乎太低级/过度杀伤了!
提前干杯!