У меня довольно сложная проблема с обработчиком клавиши Escape в диалоговом окне в Borland C++ Builder 5. Существуют ли какие-либо другие требования к клавише Escape для запуска события отмены (кроме тех, которые я перечислил ниже)?
- Для кнопки «Отмена» (TBitBtn) свойство Cancel имеет значение true.
- Для кнопки «Отмена» свойство по умолчанию установлено в false.
- У кнопки «Отмена» для параметра modalResult установлено значение mrCancel.
Примечание. Я работаю со старым устаревшим приложением, которое все еще компилируется в Borland C++ Builder 5. У нас есть отдельный проект для его замены — я просто выполняю техническое обслуживание в конце срока службы.
Обновить
Четыре месяца спустя я, наконец, перестал ломать голову... оказалось, что в родительской форме для приложения был определен обработчик OnShortCut во время выполнения. Мне просто нужно было отключить это, чтобы обработчик Esc работал в дочернем диалоговом окне.