auf mehreren zur Laufzeit erstellten VCL-Objekten gleichzeitig arbeiten?

Turri

Erfahrenes Mitglied
Hallo,

Ich möchte PageControl's mit TabSheets's und RichEdit's zur Laufzeit erstellen, da die Anzahl dynamisch ist und nich vorher festgelegt werden kann.
Die PageControls stehen später alle untereinander da es wie eine Übersicht werden soll.
Sollte eines der RichEdit vollgeschrieben sein (wird per Event geprüft) wird automatisch ein neues TPageControl wieder mit RichEdit's usw. erstellt und ich möchte in dem neuen RichEdit weiterschreiben.

Das Problem ist, wenn die neuen PageControls erstellt werden, werden leider auch meine alten RichEdit Objekte überschrieben
und ich komme an die "alten" nicht mehr ran, falls ich plötzlich merke, ich hab mich im alten RichEdit verschrieben oder ähnliches.

Als Codeschnipsel leg ich mal meine Erstellung bei:

global hab ich

Code:
int i = 0; // Variable für die Höhe(Top) der PageControls

Als Test das hier im OnButtonClickEvent, soll später passieren wenn
ein RichEdit voller Text ist, geht nur um das Prinzip

Code:
TPageControl* page = new TPageControl(Form1);
page->Parent = Form1;
page->Top = i;
i = i + 600;           // PageControlhöhe wird um 600 erhöht und somit hab ich eine schöne Übersicht meiner ganzen PageControls
page->Width = 50;
page->Left = 5;
page->Height = 500;

TTabSheet* tab1 = new TTabSheet(page);
tab1->PageControl = page;
tab1->Caption = "Vorderseite";
tab1->Visible = true;

TRichEdit redit1 = new TRichEdit(tab1);
redit1->Parent = tab1;
redit1->Visible = true;
redit1->Text = "Test";

Wie gesagt, nun passiert es, wenn ich erneut den Button drücke, er mir meine PageControls alle untereinander darstellt.
Ich sehe zwar noch die alten PageControls kann sie aber nicht mehr handlen, da die Objekte überschrieben wurden.
Ich kann zwar die Objekte speichern, hab aber im Prinzip immer nur ein aktuelles Objekt, Möchte aber eigentlich alle bis jetzt erstellten Objekte "handlebar" haben.
Später soll der Inhalt natürlich aus allen RichEdit Feldern ausgelesen und gespeichert werden.

Es ist vergleichbar mit Word, ich hab eine Seite, ist die voll kommt die nächste auf der ich schreiben kann.
Es ist aber auch kein Problem auf die alte Seite wechseln und dort noch was zu ändern.

Ich nutze den Borland C++ Builder 6.0

Ich hoffe ich konnte mein Problem irgendwie rüberbringen ;)

Hab schon mit der Such-Funktion hier umhergeschaut aber irgendwie nix passendes gefunden

MfG
Turri
 
hab mein Problem gelöst,
ich kann doch noch mit den alten PageControls und RichEdit's arbeiten trotz überschriebener Objekte.

Ich speicher das Objekt bevor es überschrieben wird, und dieses Objekt wird wieder geholt mit dem Event "OnEnter"...

Ist mir erst blos nich eingefallen.

MfG Turri
 
Zurück