Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#4

AW: TTabcontrol - OnExit funktioniert nicht wie erwartet

  Alt 30. Okt 2016, 12:22
OnExit wird nur aufgerufen, wenn eine Komponente den Focus verliert.

Bei 'nem Click auf die Menüs oder den Schließenbutton oben rechts ..., verliert die Komponente, die gerade den Focus hat, diesen aber nicht. Deshalb wird auch OnExit nicht aufgerufen.

Klickst Du z. B. irgendwo ins Hauptmenü und verlässt es dann mit ESC, so bleibt der Focus der gerade aktiven Komponente erhalten.

Einfachste Methode, um das Problem (halbwegs) elegant zu lösen, ist in allen Ereignissen, in denen Du möchtest, dass das OnExit-Ereignis aufgerufen wird, wäre, es in der entsprechenden Methode aufzurufen. Beim OnClose des Formulars sähe das dann halt so aus:
Delphi-Quellcode:
procedure Tform1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  tsDeinTabSheetExit(Sender);
  // oder
  pcDeinPageControlExit(Sender);
end;
  Mit Zitat antworten Zitat