NSMenu には、コンテキストメニューを表示させるためのメソッドがある。popUpContextMenu::: だ。
Application Kit/NSImage.h
+ (void)popUpContextMenu:(NSMenu*)menu
withEvent:(NSEvent*)event
forView:(NSView*)view;
これを使うと、コンテキストメニューが表示される。引数の withEvent には NSEvent を渡す。その中の mouseLocation の位置に、メニューが表示されるんだ。自分で NSEvent をつくり出すのはやっかいなので、mouseDown: や mouseUp: のような、引数に NSEvent が渡されるメソッドの中で呼び出すのが楽だよ。view は、該当する NSView を設定してやる。
■関連リンク:
コンテキストメニューを設定する (NSResponder)