![]() |
Alle Captions ändern
Hallo,
hänge im Moment an einem Problem und weiß auch nicht ob es überhaupt lösbar ist. Ich würde gerne bei allen Komponenten, die die Property Caption haben, diese ändern. Ist das möglich? Zumal ich ja keinen Typ (TLabel) angeben will... Danke für die Hilfe! |
Re: Alle Captions ändern
|
Re: Alle Captions ändern
Nimm die Funktonen aus TypeInfo.pas und gehe über die RTTI.
|
Re: Alle Captions ändern
du könntest dich wahrscheinlich auch rekursiv durch alle Components durchhangeln, also in etwa:
Delphi-Quellcode:
procedure bla(c: TComponent)
for i := 0 to c.ComponentsCount-1 do begin bla(c.Components[i]) try (c.Components[i] as TControl).Caption := str except end end end |
Re: Alle Captions ändern
wobei Rekursion jetzt nicht so die beste Lösung währe...
|
Re: Alle Captions ändern
wahrum? Wenn ich fragen darf...
|
Re: Alle Captions ändern
Wozu das Array rekursiv durchlaufen? Einmal reicht doch.
[edit] Achso, wegen der Unterkomponenten. [/edit] |
Re: Alle Captions ändern
Ja genau. Beispiel:
Wenn man zb auf einer Form ein Panel und ein Label in diesem Panel hat, dann hat die Form nur die Komponente Panel und das Panel die Komponente Label. Wenn man also nur die Komponenten von der Form durchgeht, erreicht man nicht das Label. |
Re: Alle Captions ändern
Zitat:
|
Re: Alle Captions ändern
Nicht Controls und Components verwechseln.
Owner aller Komponenten ist normalerweise die Form. Ausnahme wären z.B. TRadioGroup, die eigene Steuerelemente verwalted. |
Re: Alle Captions ändern
Aber echt, sorry! :oops:
Ich hab da wohl was verwechelt. Es reicht also nur die Components der Form durchzugehen... Oder folgendes:
Delphi-Quellcode:
weil man benötigt ja eigentlich nur die Controls und nicht die Components...
procedure bla(c: TControl)
for i := 0 to c.ControlCount-1 do begin bla(c.Controls[i]) try c.Controls[i].Caption := str except end end end (der code ist nur bsp-code) |
Re: Alle Captions ändern
Und auch das wird ohne Hack nicht gehen. Schau Dir mal den verlinkten Thread von himitsu an.
|
Re: Alle Captions ändern
Aber mit hack... (hab ja dazugeschrieben dass es nur beispielcode ist)
Dragon27 sollte sich auf jeden fall den Beitrag von himitsu angucken. Und wenn er sich duch die Komponenten durchhangeln muss, dann kann ers ja so machen wie ichs geschrieben hab... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:08 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 by Thomas Breitkreuz