Как бы вы сделали, чтобы элемент состояния отображал или скрывал окно при нажатии? - PullRequest
0 голосов
/ 02 июня 2009

Как сделать так, чтобы элемент состояния, когда фактически нажата кнопка в строке меню, а не в раскрывающемся меню, отображал или скрывал окно? Извините, если это немного расплывчато.

Ответы [ 2 ]

5 голосов
/ 02 июня 2009

NSStatusItem поддерживает механизм цели / действия, как и многие другие элементы управления. Я не использовал это сам - я только когда-либо использовал NSStatusItem с прикрепленным меню - поэтому я не знаю , когда сообщение отправлено (то есть когда нажата кнопка мыши или когда выйдет). Если он не выполняет то, что вы хотите по умолчанию, вам понадобится пользовательский вид, как предлагает Даниэль.

4 голосов
/ 02 июня 2009

Чтобы добиться этого с NSStatusItem, вам нужно создать собственное представление и заменить представление NSStatusItem по умолчанию, вызвав его метод "setView:".

Вы будете реализовывать код в своем собственном представлении, чтобы реагировать на щелчки мышью, например, поднимая окно (Вы можете использовать кнопку или другие стандартные виды, если она вам подходит).

Я предупреждаю вас, это немного сложно, чтобы получить права. Множество маленьких нюансов, например с получением вида вашего пользовательского вида, чтобы выглядеть прямо в строке меню. Но это общий подход, который вам нужно использовать, если вы хотите переопределить стандартное представление статуса элемента меню.

...