Hallo,
ich habe in frmMain ein TTabSheet. Die Inhalte der Tabsheets werden mit
Delphi-Quellcode:
if tsTabsheet.ActivePage = tsTabSheet1 then
begin
if frmForm1 = nil then
begin
frmForm1 := TfrmForm1.Create(Application);
frmForm1.BorderStyle := bsNone;
frmForm1.Parent := tsTabSheet1;
frmForm1.Align := alClient;
frmForm1.Show;
end
erst erzeugt wenn das TabSheet aufgerufen wird.
Meine Frage ist nun, wie ich sicherstellen kann, dass jedes mal, wenn auf dieses frmForm1 zurückgekehrt wird, das gleiche Ereignis ausgelöst wird.
Rückkehrmöglichkeiten sind
- Beim Create
- aus anderem TabSheet
- über Menu von foMain aufgerufeners anderes Fenster
- aus ganz anderer Anwendung
- ...
OnShow wird nur nach Create aufgerufen
OnPaint wird nur bei Rückkehr aus anderem Programm aufgerufen
OnActivate wird nur bei Rückkehr aus anderem TabSheet oder anderem, per Menu aufgerufenem Form aufgerufen. Aber nur wenn SubForm danach nicht wieder gefreet wird
Mit
Delphi-Quellcode:
procedure TfrmForm1.FormCreate(Sender: TObject);
begin
Application.OnActivate := FormActivate;
end;
erreiche ich noch, dass Activate auch bei Rückkehr aus anderem Programm aufgerufen wird
Alle drei zusammen erfüllen also fast was ich suche (Es fehlt Rückkehr aus Form, wenn ich dieses über MenuClick Create, ShowModal und Free aufrufe)
Gibt es aber eine Möglichkeit in allen Fällen ein Event/Message abzuarbeiten sobald ich wieder auf frmForm1 zurück kehre
Danke für eure Tips
Gerd