CPropertySheet 内とスタンドアロン ダイアログの両方で表示する必要があるダイアログがあります。コードの冗長性を避けるために、2 つの個別のクラスを持たないことを選択しました (これらのダイアログで多くの変更を行い、2 つのクラスを常に同期する必要があるのは地獄です)。代わりに、それをスタンドアロンのダイアログとして表示したい場合は、 CPropertyPage::DoModal を呼び出します。これはいくつかの問題を引き起こしますが、私はそれらのほとんどを修正しました。
ただし、いくつかはまだ残っています。つまり、enter と esc は機能しません。また、タブを押してもフォーカスは変わりません。これにより、CPropertyPage がすべてのキーボード入力を消費するか、親に渡そうとする可能性があると思います。
スタンドアロンモードでその動作をオーバーライドする方法はありますか?