FindComponent bzw. Labelkomponente kopieren
-
Hallo zusammen!
Ich habe eine C++ Funktion in Borland C++ 6.0 geschrieben. Diese soll alle Labels auf einem Panel suchen und dann in ein temporäres Label speichern. Das temporäre Label soll aber noch alle Eigenschaften des Originals haben.
Soweit bin ich gekommen, doch es wird immer nur ein Standard Label erzeugt:
void LabelNormal(int Anz, int SprIndex); // Prototyp der Funktion //... void LabelNormal(int Anz, int SprIndex) { TLabel *tmpLbl; for (int i=0; i<Anz; i++) { tmpLbl = new TLabel(Form1->Panel1->FindComponent("Label" + IntToStr(i))); tmpLbl->Width = 222; } delete tmpLbl; }
Danke für eure Hilfe!!!
-
Wenn Du eine TLabel-Komponente zur Laufzeit erstellst, dann wird die im
Argument übergebene TComponent-Instanz zum Eigentümer der des neuen Labels,
steht auch so in der BCB-Hilfe. Zum Kopieren der Eigenschaften verwendet man
am besten die Methode Assign().
Das könnte so aussehen:void LabelNormal(int Anz, int SprIndex) { TLabel *tmpLbl; for (int i=0; i<Anz; i++) { tmpLbl = new TLabel(Form1->Panel1); tmpLbl->Assign(Form1->Panel1->FindComponent("Label" + IntToStr(i))); tmpLbl->Width = 222; } delete tmpLbl; }
Vielleicht solltest Du aber noch prüfen, ob die Komponente überhaupt gefunden
wurde.Gruß,
Alexander