मैं एक नेट डेवलपर हूं, जिसे मैक में एक छोटी परियोजना को पोर्ट करने की आवश्यकता है, इसलिए मुझे उद्देश्य सी के बारे में कुछ भी नहीं पता है। वास्तव में नीचे दिया गया कोड स्ट्रॉ और शूटिंग में पकड़ने का एक गुच्छा था अंधकार।कोको: राइट क्लिक NSStatusItem
एक स्थिति मेनू प्रोग्राम बनाने की कोशिश कर रहा है जो एक या दूसरी विंडो खोलता है, भले ही यह बाएं-क्लिक करें या राइट-क्लिक/ctrl + क्लिक करें। यहाँ मैं क्या है, और यह के लिए काम करता बाएँ क्लिक केवल (जाहिर है):
-(void) awakeFromNib{
NSBundle *bundle = [NSbundle mainBundle];
statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain];
[statusImage = [[NSImage alloc] initWithContentsOfFile:[bundle pathForResource:@"icon" ofType:@"png"]];
[statusItem setImage:statusImage];
[statusItem setToolTip:@"Program Name"];
[statusItem setHighlightMode:YES];
[statusItem setAction:@selector(openWin:)];
[statusItem setTarget: self];
}
-(void)openWin:(id)sender{
[self openLeftWindow:sender];
}
-(IBAction)openLeftWindow:(id)sender{
//Code to populate Left Click Window
[leftWindow makeKeyAndorderFront:nil];
}
-(IBAction)openRightWindow:(id)sender{
//Code to populate Right Click Window
[rightWindow makeKeyAndorderFront:nil];
}
मुझे ऐसा लगता है कि समाधान अगर openWin() फ़ंक्शन में बयान निर्धारित करने के लिए जो बटन क्लिक किया गया हो या तो एक हैं (या यदि ctrl दबाया गया था) तो उचित कोड चलाएं या मेनू को बाएं और दाएं क्लिक दोनों के बारे में अवगत कराएं। लेकिन जब मैंने ऐसा करने का प्रयास किया तो इनमें से किसी ने भी काम नहीं किया है।
अग्रिम में धन्यवाद।
मैं यह सिर्फ एक टाइपो है कि दोनों openLeftWindow संभालने हूँ। अन्यथा, यह सवाल बेकार होगा। – ughoavgfhw
सही, वे अलग-अलग चीजें करते हैं। टाइपो – Dan