我試圖在Obj-C/Cocoa中簡單地創建一個簡單的狀態欄應用程序。Mac OS X狀態欄應用程序 - 從Cmd/Alt菜單隱藏它?
因此,我已經做到了這一點 - 聲明一個NSStatusItem,將它添加到NSStatusBar,然後給它一個NSMenu對象。像這樣的位......
NSStatusBar *bar = [NSStatusBar systemStatusBar];
theItem = [bar statusItemWithLength:NSVariableStatusItemLength];
[theItem retain];
[theItem setTitle: NSLocalizedString(@"Tablet",@"")];
[theItem setHighlightMode:YES];
[theItem setMenu:theMenu];
(從「狀態欄編程主題」,蘋果文檔拍攝的實施例)現在,理想情況下,我想這個應用程序運行,並不會從CMD訪問/ ALT窗口改變「菜單」(缺乏一個更好的詞),我見過應用程序之前做它,並希望真的。這個想法是我只想讓它在每個窗口都可以訪問,而在狀態欄上沒有自己的NSMenu,並且無法將其作爲活動應用程序( - 因此它無法接管整個狀態欄,它不能通過CMD/ALT看到)
此外,我想知道是否StatusBarItem支持拖放一個項目的能力呢?我不確定這是否是NSStatusBar的限制。
我已經閱讀了關於deamons和代理,但這似乎太低級/超過殺這樣一個簡單的應用程序!
提前歡呼!
你的意思是Command-Tab功能? 而我不理解你的問題。你想要一個不是菜單但在所有應用程序中都可訪問的狀態欄項目?意思是圖標是可見的,當用戶點擊它時,它不會有菜單嗎? 另外,我不相信我見過支持拖放的狀態欄應用程序,但這並不意味着它不可能。 – 2010-06-07 15:47:36
命令選項卡甚至 - 代表我的愚蠢輸入錯誤!我基本上想要一個狀態欄應用程序 - 我可以做得很好,但是想要將它從Command-Tab功能中隱藏起來。我不確定拖放功能,但我可能看到類似的東西。儘管它可能已經使用專用SystemUIPlugin框架的一部分來實現 - 「NSMenuExtra」。當然,我已經考慮過對此進行研究 - 但是在升級過程中使用私有框架並使其中斷的想法並不理想! – Moddy 2010-06-07 22:58:49