2011-03-26 14 views
7

मैं कोको के लिए काफी नया हूं, इसलिए कृपया मुझे किसी भी बेवकूफ गलतियों के लिए क्षमा करें। मेरे पास एक NSStatusItem है, जिसे मैं मेनू खोलने के लिए उपयोग करना चाहता हूं। हालांकि जहां तक ​​मुझे पता है और विभिन्न रूपों में सुना है, कस्टम दृश्य के बिना आप केवल एक पॉप डाउन मेनू तक ही सीमित हैं। क्या ये सच है? और यदि ऐसा है तो आप कुछ करने के लिए कस्टम दृश्य कैसे बनाते हैं (उदा। मेरे मामले में एक विंडो खोलें)? किसी भी मदद के लिए धन्यवाद।NSStatusItem पर क्लिक करने के लिए विंडो कैसे खोलें?

उत्तर

14

नहीं, यह सच नहीं है। आपको स्टेटस आइटम के लिए एक विधि को कॉल करने के लिए लक्ष्य और क्रिया सेट अप करने की आवश्यकता है जो आप चाहते हैं (विंडो खोलता है)। विधि सुनिश्चित करना है कि खिड़की खोलते ही कुछ अन्य आवेदन की खिड़की के पीछे नहीं है:

// This goes where you set up the status item 
NSStatusItem *statusItem; // You need to get this from the status bar 
[statusItem setTarget:self]; 
[statusItem setAction:@selector(openWindow:)]; 

// This method is called when the status item is clicked 
- (void)openWindow:(id)sender { 
    NSWindow *window = [self window]; // Get the window to open 
    [window makeKeyAndOrderFront:nil]; 
} 

आप भी अपनी openWindow को [NSApp activateIgnoringOtherApps:nil]; फोन कर सकते हैं।

+0

धन्यवाद! अब पूरी तरह से काम करता है :) – Luke

+1

इनपुट के लिए धन्यवाद, मैंने इसे ब्लॉग पोस्ट में सारांशित किया है http://www.jademind.com/blog/posts/show-nswindow-below-your-nsstatusitem फिर से – anka

संबंधित मुद्दे