Borland C++ Builder 5 のダイアログ ボックスの Escape キー ハンドラーでややこしい問題が発生しています。Escape キーがキャンセル イベントを発生させるための他の要件はありますか (以下にリストしたもの以外)?
- 「キャンセル」ボタン (TBitBtn) の Cancel プロパティは true に設定されています。
- [キャンセル] ボタンの Default プロパティは false に設定されています。
- 「キャンセル」ボタンの modalResult は mrCancel に設定されています。
注: 私はまだ Borland C++ Builder 5 でコンパイルされている古いレガシー アプリを使用しています。それを置き換える別のプロジェクトがあります。サポート終了のメンテナンスを行っているところです。
アップデート
4 か月後、ようやく頭を悩ませるのをやめました...アプリケーションの親フォームに実行時の OnShortCut ハンドラが定義されていることがわかりました。Esc ハンドラーが子ダイアログで機能するように、それを無効にする必要がありました。