![]() |
PageControl "Seitenverwaltung"
Hi, man kennt es aus diversen Programmen:
Das gleichzeitige Öffnen von mehreren Datein. Momentan erzeuge ich die Tabs wie folgt:
Delphi-Quellcode:
Nun möchte aber, dass
procedure TForm1.NeuClick(Sender: TObject);
var ts : TTabsheet; se: TSynEdit; begin ts := TTabsheet.Create(PageControl4); ts.PageControl := PageControl4; se:= TSynEdit.Create(ts); se.Parent := ts; ts.Caption := 'Dokument 1'; end; 1) wenn ich einen neue Datei öffne, die Tabs einer nach dem anderen durchnummeriert wird wie z.B. "Dokument 1" ; "Dokument 2" ; etc. 2) wie geht das dann mit dem Öffnen und Speichern der Tabs? Danke schonmal im Voraus. |
Re: PageControl "Seitenverwaltung"
Deine Frage(n) verstehe ich nicht wirklich...
Gehts Dir nur um die Register-Beschriftung
Delphi-Quellcode:
oder wie die Seite gewechselt wird
ts.PageControl.Pages[2].Caption := 'Dokument 1';
Delphi-Quellcode:
oder was möchtest Du genau wissen?
ts.PageControl.ActivePage := ts.PageControl.Pages[1];
|
Re: PageControl "Seitenverwaltung"
Na ja, die Frage 1 ist, wie ich es schaffe, dass die Tabs automatisch beschriftet werden.
z.B.: Klick auf Neu... Erstelle Tab -> Caption: Dokument 1 Klick erneut auf Neu... Erstelle weiteren Tab -> Caption: Dokument 2 |
Re: PageControl "Seitenverwaltung"
Zitat:
Ein weiteres Bsp.:
Delphi-Quellcode:
var
iZaehler: Integer; begin with PageControl1 do for iZaehler := 0 to 5 do with TTabSheet.Create(Self) do begin PageControl := PageControl1; Caption := 'Dokument ' + IntToStr(iZaehler); end; end; |
Re: PageControl "Seitenverwaltung"
Danke schonmal. :)
Wenn du zufällig auch das passene in Bezug aufs Öffnen und Speichern hättest, wäre ich glaube ich soweit. |
Re: PageControl "Seitenverwaltung"
Zitat:
|
Re: PageControl "Seitenverwaltung"
- Ich möchte, dass wenn ich auf "Öffnen" klicke, ein neuer Tab erstellt wird, dessen Caption der
Dateiname ohne Pfad (c:/.../.../blabla.txt --> blabla.txt) ist. - Beim Speichern möchte ich, dass der Dialog für das Speichern DEN Text speichert, dessen Tab gerade aktiv ist. Müsste dann wahrscheinlich auch mit den Integerwerten gemacht werden, oder? Damit der Dialog weiß, auf welchen Tab er zugreifen soll. Hoffe, es ist etwas verständlicher geworden. :oops: |
Re: PageControl "Seitenverwaltung"
Bei dem PageControl müsste es eine Eigenschaft geben, die die aktive Seite (engl: Active Page) angibt.
|
Re: PageControl "Seitenverwaltung"
Hallo
Das aktuelle SynEdit kannst du so ermitteln. (Vorausgesetzt, auf einem Tab befindet sich nur ein TSynEdit und kein anderes Control)
Delphi-Quellcode:
function TForm1.GetCurrentSynEdit: TSynEdit;
var i: SmallInt; begin Result := nil; for i := 0 to PageControl1.ActivePage.ControlCount -1 do begin if (PageControl1.ActivePage.Controls[i] is TSynEdit) then begin Result := TSynEdit(PageControl1.ActivePage.Controls[i]); Break; end; end; // Assert(Result <> nil); end; |
Re: PageControl "Seitenverwaltung"
Hallo,
um den Dateinamen des aktuellen Tabsheets zu ermitteln, würde ich einfach ein unsichtbares TLabel mit auf jedes neue TabSheet packen. Dort speicherst du den Dateinamen. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz