MDIアプリケーションで、Childの×ボタンで自殺(FormCloseでAction=caFree)したとき、
MainForm側で、Childが減ったことを知るタイミングが知りたいです。
Child.OnDestroy では、Screen.RemoveForm されていないので、MDIChildCountは、
死にかけのChildを含んでいる状態。
TScreenには、OnActiveControlChange、OnActiveFormChangeしかなく、
フォームの削除のタイミングは拾うことができないっぽい。
話が前後しますが、やりたいのはMDIアプリケーションで、Childは決まった数の
決まった種類しか表示しません。
このとき、メインフォーム側に、ChildのOn/Offボタンを表示させ、表示中は
ボタンダウン、非表示になったときはボタンアップ状態にしたいのです。
なにかいいアイディアはないでしょうか?
もしかして、Application.OnIdleで判定するのは、妥当な線?
FormのNotificationで、Operation = opRemove のとき、
ボタンアップにするようにしました。
解決としておきますが、『Childの自決時に、Parent側で死亡を知るタイミング』について、
『こんなふうにしています』というのがあれば教えてください。
お勉強させていただきます。
ツイート | ![]() |