Alle Komponenten in einem Formular anzeigen.
-
Ich möchte gerne in meinem Programm eine Funktion haben, die alle Komponenten eines Formulars ausfindig macht. Sind in den Komponeten Texte enthalten, so soll aus einer XML-Datei abhängig davon, welcher Text es ist, die entsprechende eingetragen werden. Hier ein Beispiel:
Ich habe ein LabeledEdit, dessen Label Text zum Beispiel "Firma" lautet. Ich möchte nun aus einer XML-Datei, welche ein Attribut <Firma>company</Firma> enthält, automatisch das Wort Firma in meinnem Komponententext durch company ersetzten. Diese Funktion soll, wie gesagt, für alle Komponenten in meinem Formular automatisch passieren. Ist sicherlich ne richtig schwierige Sache, aber vielleicht kann mir da jemand weiterhelfen!?Vielen Dank!!
-
Dazu gibt es diverse Funktionen; Ausgangspunkt wäre:
__property TComponent * Components = {read=GetComponent};
Beschreibung
Mit Components können Sie auf alle der Komponente untergeordneten Komponenten zugreifen, beispielsweise auf die Komponenten eines Formulars. Die Eigenschaft ist besonders nützlich, wenn Sie einzelne untergeordnete Komponenten über eine Nummer anstelle über deren Namen ansprechen wollen. Components wird intern verwendet, um iterative Prozesse an allen untergeordneten Komponenten durchzuführen.Index liegt im Bereich von 0 bis ComponentIndex minus 1.
Verwandte Informationen
TComponent::ComponentCount
TComponent::ComponentIndex
TComponent::Owner
-
Weiterhin interessant sind hier dann noch TObject::ClassName sowie dynamic_cast
siehe auch aus der FAQ
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39210.html
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39207.html
-
Danke, das hat mir schonmal ein ganzes Stück weitergeholfen!