2011-01-17 39 views
0

Ich möchte Rechtsklick-Ereignis auf dasselbe Objekt generieren, auf dem Linksklick-Ereignis generiert.Wie generiert man ein Rechtsklick-Ereignis, wenn ein Ereignis mit der linken Maustaste generiert wird?

Objekt, auf dem ich generieren muss, ist ein "Kontextmenü". Und wie wir wissen, öffnet sich das Kontextmenü nur bei Rechtsklick. Also ich möchte das Kontextmenü auf seiner linken klicken, indem Sie einfach Rechtsklick-Ereignis mit der linken Maustaste erzeugen.

Kann mir jemand helfen?

+0

I wil..now werden Sie bitte beantworten Sie meine question.I wirklich mit dieser Masche. –

Antwort

1

Ich habe dies getan, indem ich ein Menü zu meiner Schaltfläche in Interface Builder zugewiesen habe und dann NSButton subclass, so dass das Menü bei gedrückter Maustaste angezeigt wird (Linksklick).

- (void)mouseDown:(NSEvent *)theEvent 
{ 
    [self setState:NSOnState]; 
    [self highlight:YES]; 

    if ([self menu]) 
    { 
     [NSMenu popUpContextMenu:[self menu] withEvent:theEvent forView:self]; 
    } 

    [self setState:NSOffState]; 
    [self highlight:NO]; 
} 
0

Swift 3/iOS Version 10 für Scotts Antwort:

override func mouseDown(with event: NSEvent) 
{ 
    super.mouseDown(with: event) 

    if let menu = self.menu 
    { 
     let locationInView = self.convert(event.locationInWindow, from: nil) 
     menu.popUp(positioning: nil, at: locationInView, in: self) 
    } 
} 
Verwandte Themen