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