HotKeyでコンテクストメニュー(もうまくいかない)

in

昨日もあれやこれやいじくり回してみたがダメだった。やっているうちに、メニューを開く(展開する)というよりやっぱりコンテクストメニューの方がいいのじゃないかと思って切り替えてみたのだがマウス位置にメニューが表示されない。(表示はするけれど、常にデスクトップ左下隅に表示されます。)

NSEvent* e =
   [NSEvent mouseEventWithType:NSLeftMouseDown location:[NSEvent mouseLocation] 
     modifierFlags:NSControlKeyMask timestamp:nil windowNumber:nil context:nil 
     eventNumber:nil clickCount:1 pressure:nil];
[NSMenu popUpContextMenu:[NSApp mainMenu] withEvent:e forView:nil];

左下隅の原点に表示されるということは、NSEventの中のmouseLocationが正しくないのだと思うのですが...他にもwindowNumber:nil、forView:nilも怪しいのだけれどそもそもwindowもviewも持たないアプリだから指定のしようがないです。

コンテクストメニューについては割と情報があるのだが、ほとんどのサンプルはmouseDown:とかからのサンプルで自前でNSEventを作成している例はなかなかないですね。自分が最初の例になれれば良かったのですが、まだダメみたい。

この記事のトラックバックURL:

http://hippos-lab.com/blog/trackback/249

返信