2011-01-17 8 views
0

同じオブジェクト上で右クリックイベントを生成したい場合は、左クリックイベントが生成されます。左クリックイベントが生成されたときに右クリックイベントを生成する方法は?

生成する必要があるオブジェクトは「コンテキストメニュー」です。コンテキストメニューは、右クリックでのみ開くことができます。 左クリックで右クリックイベントを生成するだけで、左クリックでコンテキストメニューを開きたいと考えています。

誰でも同じことができますか?

+0

私はあなたが私のquestion.Iが本当にこれでメッシュ答えてくださいますwil..now。 –

答えて

1

インターフェイスビルダのボタンにメニューを割り当て、NSButtonをサブクラス化してメニューがマウスの下に(左クリック)表示されるようにしました。スコットの答えのための

- (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

スウィフト3/iOSのバージョン10:

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) 
    } 
} 
関連する問題