2012-05-05 9 views
0

У меня есть NSButton, который при нажатии на вызовы [NSMenu popUpMenuPositioningItem: atLocation: inView:]. Меню появляется в правильном месте, но самый верхний NSMenuItem всегда подсвечивается синим цветом, как если бы мышь зависала над ним, за исключением того, что это не так. Кажется, я не могу найти способ контролировать подсветку NSMenuItem.Всплывающее меню NSMenu всегда подчеркивает первый NSMenuItem

Глядя на скриншот, вы можете видеть, что меню подсвечено, даже если мышь все еще витает над NSButton.

enter image description here

Как я могу это исправить? Я не хочу, чтобы что-то было выделено при нажатии на NSButton.

ответ

1

Если вы передаете nil для первого аргумента в popUpMenuPositioningItem: atLocation: inView :, то ничего не выбрано.

+0

Это сделало трюк. Благодарю. – Carter

1

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

+0

Этот вариант имел место для меня, и, хотя я уверен, что он работает, на самом деле это не ответ на мой вопрос. Мне не нужно было использовать NSPopupButton, когда NSMenu's popUpMenuPositioningItem: atLocation: inView: должен работать. – Carter

 Смежные вопросы

  • Нет связанных вопросов^_^