多数のMDI子(および非MDIフォーム)を含むMDIアプリケーションがあり、現在アクティブになっていて常にフォーカスがあるフォームを追跡したいと思います。ユーザーがアプリケーション内であるフォームから別のフォームに切り替えるとき、ウィンドウアクティベーションメッセージをトラップし、バックグラウンドでグローバル変数をアクティブなフォームのプロパティに設定します(このプロパティは基本クラスから継承されます)。私は元々、基本クラス(アプリケーションのすべてのフォームが使用する)のOnActivateイベントハンドラーにコードを配置しましたが、このイベントが常に発生するとは限らないことに気付きました。何か案は?
Delphi2006BDSを使用しています。