Windows не реагирует на комбинации клавиш. Элементы меню. В ответ на нажатие (используя мышь, используя комбинацию клавиш или используя доступность), пункт меню отправляет свое сообщение о действии по цепочке ответчиков.
Вы получаете звуковой сигнал, когда ничто в цепочке ответчиков не отвечает на сообщение о действии.
Предполагая, что это приложение на основе NSDocument, и вы запустили шаблон приложения Apple на основе приложения, действие пункта меню - saveDocument:
, а объект NSDocument - это объект, который отвечает на это сообщение. Когда окна вашего документа активны, их документы находятся в цепочке ответчиков, поэтому элемент меню, который отправляет это сообщение о действии, включен. Когда ваше третье окно активно, документ не находится в цепочке ответчиков; ничто другое не реагирует на это сообщение, поэтому пункт меню отключен.
Эта проблема не является специфичной для Save-it, которая затрагивает все сообщения о действиях, которые должны пройти к объекту документа. Одним из важных примеров является Print: пользователь, вероятно, будет печатать документ, а не третье окно.
Возможно, вы сделали это третье окно своего рода окном, которое существует как одноранговое соединение с другими окнами. Помимо этой проблемы с цепочкой ответов, которую вы испытываете, пользователь также, вероятно, не поймет, что они оставили документ; они ожидают, что смогут делать документальные вещи. Подумайте о том, чтобы вместо этого сделать панель управления.
Если у вас действительно есть причина, чтобы сделать это окно каким бы то ни было оконным окном, вам нужно сохранить последний активный объект документа в цепочке ответчиков, когда это третье окно станет основным, а в то же время когда окно становится основным, потому что окно документа (возможно, последнее) закрыто.
Но я не хочу внедрять saveDocument и все другие сочетания клавиш, я просто хочу передать их на свой контроллер документа. Каким-то образом они не передаются. – wackazong
Уточнение: документ не является контроллером документа. Контроллер документа контролирует документы. –