6

ステータスバーアイコンの左クリックまたは右クリックを検出し、クリックされたマウスボタン ​​(トラックパッド) に応じて何らかのアクションを実行する方法は?

私が使う:

  _statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain];
  [_statusItem setMenu:menu];
  [_statusItem setHighlightMode:YES];

statusBar アイコンを生成するには

4

1 に答える 1

13

現在押されているマウス ボタンを検出するには、 を使用できます[NSEvent pressedMouseButtons]

ステータスバーのアイコンがクリックされたことを検出するには、表示されるメニューを検出できます。メニューが開く直前に、そのデリゲートに menuWillOpen: メッセージを送信します (デリゲートがある場合)。したがって、次のようなものを実装します。

- (void)menuWillOpen:(NSMenu *)menu
{
  NSLog(@"%d",[NSEvent pressedMouseButtons]);
}

メニューのデリゲートも設定する必要があります。

[menu setDelegate:self];
于 2009-12-10T15:07:25.683 に答える