5

次のことを実行したいと思い
ます。ステータスバーの項目(NSStatusItem)をクリックしたときに、それを無期限に強調表示したい(メニューなし)。アプリケーションがフォーカスを失ったときに、強調表示を停止したい。

これを行う方法はありますか?見つかりません、tbh。

4

2 に答える 2

2

これは、ステータスアイテムにdrawStatusBarBackgroundInRect:withHighlight:メッセージを送信するカスタムビューを使用して行うことができます。

質問へのコメントで述べたように、ユーザーがマウスを下に置いていないときにアイテムを強調表示したままにしておくと見栄えが悪くなるため、カスタムビューなしでそれを行う方法はないと思います。

于 2013-01-12T19:59:51.750 に答える
2

古い質問ですが、この代替の答えを追加する価値があると思います。

これにより、アプリケーションがフォーカスを失ったときに自動的にハイライトが解除されることはありませんが、カスタムビューを使用せずにハイライト表示できます(他の回答で必要な場合)。

NSStatusItem *statusItem = [self getStatusItem];
[statusItem.button setHighlighted:YES];

同じ方法を使用して、手動でハイライトを解除できます。

[statusItem.button setHighlighted:NO];

ここで同様の質問からこの回答を得たことに注意してください。

于 2015-01-01T12:19:06.370 に答える