Hi Flow,
genau die gleiche Vorgehensweise habe ich in meinen Programmen auch realisiert.
Ich habe erstmal für alle Clientformulare eine Basisklasse TfrmClient.
Dort eine Public-Variable gTabSheet, der das Zugehörige Tabsheet zugewiesen wird.
Für das von dir beschriebene Problem habe ich das OnActivate-Ereignis von TfrmClient verwendet.
Das schaut so aus:
Delphi-Quellcode:
procedure TfrmClient.FormActivate(Sender: TObject);
begin
if Assigned(gTabSheet) then
GTabSheet.PageControl.ActivePageIndex := GTabSheet.PageIndex;
end;
Zusätzlich habe ich noch die Möglichkeit geschaffen mit
Ctrl+Bild auf das nächste bzw. vorige Client-Formular zu springen:
Delphi-Quellcode:
procedure TfrmClient.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = VK_NEXT) and (Shift = [ssCtrl]) then
GTabSheet.PageControl.SelectNextPage(True);
if (Key = VK_PRIOR) and (Shift = [ssCtrl]) then
GTabSheet.PageControl.SelectNextPage(False);
end;
Ich hoffe es hilft dir.