У меня есть диалоговое окно в моем приложении, которое создается с помощью CreateStandardAlert / RunStandardAlert. В настоящее время моя кнопка «ОК» отвечает на клавишу возврата, но Escape ничего не делает. Читая документацию, он говорит, что модальные диалоги должны реагировать на Escape, но это не так. Нужно ли указывать filterProc при вызове RunStandardAlert (в настоящее время я установил его на 0) или проблема, скорее всего, где-то еще в моем коде?
Я предполагаю, что в вашем диалоге нет кнопки «Отмена», которая обычно реагирует на Escape. Я не уверен, что ожидается, что кнопка OK должна реагировать на Escape. Вы могли бы использовать SetDialogCancelItem
если бы вы могли найти номер элемента кнопки.
Оказывается, я не установил одну из своих кнопок в качестве кнопки отмены. В основном мне нужно было поставить следующий код для его настройки:
alertParams.cancelText = (CFStringRef) kAlertDefaultCancelText;
alertParams.cancelButton = kAlertStdAlertCancelButton;
(это после заполнения alertParams с использованием GetStandardAlertDefaultParams)