Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TabSheet zur Laufzeit eintragen? (https://www.delphipraxis.net/102201-tabsheet-zur-laufzeit-eintragen.html)

Tommy1988 24. Okt 2007 22:01


TabSheet zur Laufzeit eintragen?
 
Hallo,

wie ist es möglich einen TabSheet zur Laufzeit auf ein PageContrl anzubringen?

Habe schon im Forum nachgeguckt, auch Google gefragt, aber ich bekomme keine Antworten :(

mkinzler 24. Okt 2007 22:05

Re: TabSheet zur Laufzeit eintragen?
 
Natürlich
Delphi-Quellcode:
TPageControl.Pages.Add

Tommy1988 24. Okt 2007 22:10

Re: TabSheet zur Laufzeit eintragen?
 
"Natürlich"

Willst du das anfächten?
Ich Nachinein habe ich das gefunden, und es klappt auch
http://www.delphipraxis.net/internal...ntrol+laufzeit

So, ein TabSheet wird hinzugefügt.
Nur die sind ja standardmäßig "leer".
Ich habe keine Ahnung ob das geht, aber kann man dort dann sich ein Memo drauf "machen" lassen?

mkinzler 24. Okt 2007 22:13

Re: TabSheet zur Laufzeit eintragen?
 
Delphi-Quellcode:
Memo := TMemo.Create( self);
Memo.Parent := Tab;
Memo.Left := ..
Memo.Top := ..
...

Tommy1988 24. Okt 2007 22:18

Re: TabSheet zur Laufzeit eintragen?
 
Vorher hatte ich es mal so probiert:

Delphi-Quellcode:
var
Tab: TTabSheet;
Memo: TMemo;
begin
  Tab := TTabSheet.Create(self);
  Tab.PageControl := PageControl2;
  Tab.Parent := PageControl2;
  Memo := TMemo.Create(self);
  Memo.Parent := PageControl2.ActivePage;
  Tab.Caption := 'Neuer Tab';
Das klappt soweit auch, wenn er das Memo nicht ständig auf TabSheet 1 schicken würde :idea:
Edit:
Delphi-Quellcode:
Memo.Parent := Tab;
Diese Zeile war es..

Danke :thumb: Ich werd mir das mal ansehen alles und durchdenken

Tommy1988 24. Okt 2007 22:37

Re: TabSheet zur Laufzeit eintragen?
 
Delphi-Quellcode:
Memo := TMemo.Create(self);
Jetzt habe ich aber noch ein Problem
Wenn ich beispielsweise Text in dieses Memo laden lassen möchte, dann kann ich ja garkein Memo
angeben, da es ja nicht auf dem Formular ist :idea:
Wenn ihr versteht was ich meine ..
Delphi-Quellcode:
MemoX.Lines.LoadFromFile('C:\usw...');

Chemiker 24. Okt 2007 22:42

Re: TabSheet zur Laufzeit eintragen?
 
Hallo Tommy1988,

Delphi-Quellcode:
MemoX := TMemo.Create(self);
Dann müsste es funktionieren.

Bis bald Chemiker

Tommy1988 24. Okt 2007 23:03

Re: TabSheet zur Laufzeit eintragen?
 
Ich gebs auf
Delphi-Quellcode:
Memo1.SaveToFile(Fn);
Das, was oben steht funktioniert natürlich, aber mit dem "erstellten" Memo natürlich nicht.

ALso ich hab null ahnung wie ich da verfahren soll..

- Ich gebs auf -

Chemiker 24. Okt 2007 23:44

Re: TabSheet zur Laufzeit eintragen?
 
Hallo Tommy1988,

Du kannst doch das Memo wie beschrieben erstellen.

Delphi-Quellcode:
  MemoX:= TMemo.Create(self);
MemoX.parent:= TabSheet2;
MemoX.Name:= 'TestMemo';
MemoX.SetBounds(16,185,313,185);
//  MemoX.lines.Add ('Zeile 1');
//  MemoX.Lines.Add ('Zeile 2');
//  MemoX.Lines.SaveToFile('C:\temp\test');
MemoX.Lines.LoadFromFile('C:\temp\test');
Bis bald Chemiker

Tommy1988 24. Okt 2007 23:59

Re: TabSheet zur Laufzeit eintragen?
 
Das klappt schon ;)

Das Problem ist das Speichern aus dem Memo raus.

Ich habe z.B. 2 "so" erstellte Memos in 2 TabSheets.

Über Memo.SaveToFile.. kann ich das nicht abspeichern..
Weil da müsste ich wenn schon Memo1.Save... oder Memo2.Save... angeben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 Uhr.
Seite 1 von 3  1 23      

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