Einzelnen Beitrag anzeigen

Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#2
  Alt 30. Jun 2003, 11:42
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.
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  Mit Zitat antworten Zitat