Einzelnen Beitrag anzeigen

norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
504 Beiträge
 
Delphi 12 Athens
 
#1

Welches Ereignis um Rückkehr zu Form zu erkennen

  Alt 31. Mär 2023, 11:53
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
  Mit Zitat antworten Zitat