![]() |
Eigenschaften einer Komponente
Hallo Forum,
ich habe einen TChart auf meinem Formular den ich so angepasst habe wie ich ihn brauche. Jetzt würde ich gerne zur Laufzeit dynamisch viele weitere Charts auf meinem Formular erstellen. Das ist Prinzipiell auch kein Problem, nur würde ich gerne die Einstellungen die ich bei dem vorhandenen TChart gemacht habe auch übernehmen ohne diese für jeden dynamsichen wieder einzeln setzen zu müssen. Gibt es denn eine Möglichkeit alle Objekteigenschaften einer vorhandenen Komponente einer neu erzeugten zu zuweisen? Danke für Hinweise |
Re: Eigenschaften einer Komponente
Vielleicht hilft dir
![]() |
Re: Eigenschaften einer Komponente
doch so einfach .... :wall:
Danke für die schnelle Hilfe :thumb: |
Re: Eigenschaften einer Komponente
hmm irgendwie habe ich mich wohl doch zu früh gefreut, jetzt konnte ich das zwar mit meinem Chart machen, zumindest die meisten Parameter hat er übernommen, aber bei meinem StringGrid geht das nicht, da bekomme ich dann eine Exception wenn ich Assign verwende, hat ein StringGrid keine Parameter vom Typ TPersistent oder verstehe ich da jetzt was falsch.
Ich suche jetzt quasi nochmals eine Möglichkeit wie ich so viele Eigenschaften wie möglich von einem vorhandenen StringGrid auf ein zur Laufzeit erzeugtes übertragen kann, ohne alles von Hand zuzuweisen. |
Re: Eigenschaften einer Komponente
Assign muss von allen abgeleiteten Komponenten neu definiert werden. Scheinbar ist das bei TStringGrid nicht der Fall. Assign funktioniert also nicht bei allen Komponenten. Du wirst also keine andere Chance haben, als alle Daten manuell zu kopieren.
|
Re: Eigenschaften einer Komponente
ich kann das nicht glauben, gibt es denn keine Möglichkeit alle Properties die eine Komponente hat mittels eines Befehls zu kopieren und einer anderen Komponente zuzuweisen?
|
Re: Eigenschaften einer Komponente
Zitat:
(Rows und Cols sind vom Typ TStrings. TStrings kann mit Assign umgehen)
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var sg: TStringGrid; i: Integer; begin // StringGrid1 mit Zahlen füllen for i := 0 to StringGrid1.RowCount * StringGrid1.ColCount do begin StringGrid1.Cells[i mod StringGrid1.ColCount, i div StringGrid1.ColCount] := IntToStr(i); end; // StringGrid1 nach sg kopieren sg := TStringGrid.Create(Form1); sg.Parent := Form1; sg.RowCount := StringGrid1.RowCount; sg.ColCount := StringGrid1.ColCount; for i := 0 to sg.RowCount do sg.Rows[i].Assign(StringGrid1.Rows[i]); // oder // for i := 0 to sg.ColCount do sg.Cols[i].Assign(StringGrid1.Cols[i]); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:39 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