In diesem Fall wäre eigentlich das "richtige" Event das OnChange des TabControls,
bzw. die OnEnter/OnLeave der/aller Controls auf dieser Form.
Denn diese eingebetteten Forms bekommen niemals die Kontrolle.
Ebenso wie bei
MDI-Forms, ist hier auch Form.ActiveControl beim Lesen immer NIL, denn die oberste Form hält die Kontrolle.
Wigentlich arbeitet man hier mit Frames, nicht mit Forms, und schon gibt es diesbezüglich keine "Verwirrung" mehr.
TForm.OnActivate und
TForm.OnDeactivate
Ja, leider ist das bissl
blöde unpraktikikabel gelöst.
Das Form-Event reagiert nicht, wenn die Anwendung verlassen/betreten wird, sondern nur beim Wechsel der
VCL-Fenster innerhalb der Anwendung.
Also zusätzlich auch noch
TApplicationEvents.OnActivate und OnDeactivate
Aber zumindestens kann man der Form und dem ApplicationEvents jeweils die selben Ereignismethoden zuweisen.
Und besser niemals direkt an die Events der Application hängen, sondern nach Möglichkeit ein TApplicationEvents benutzen.
(Ja, leider fehlen darin einige Events, vor allem die an Screen ... aber Diese hier sind vorhanden)
Somit kann jede Form ihr eigenes ApplicationEvents bekommen und es gibt keine Konflikte.