Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Alle Captions ändern (https://www.delphipraxis.net/148573-alle-captions-aendern.html)

Dragon27 4. Mär 2010 12:55


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!

himitsu 4. Mär 2010 12:59

Re: Alle Captions ändern
 
http://www.delphipraxis.net/internal...hlight=caption

Bernhard Geyer 4. Mär 2010 13:07

Re: Alle Captions ändern
 
Nimm die Funktonen aus TypeInfo.pas und gehe über die RTTI.

blablab 4. Mär 2010 13:44

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

Teekeks 4. Mär 2010 13:49

Re: Alle Captions ändern
 
wobei Rekursion jetzt nicht so die beste Lösung währe...

blablab 4. Mär 2010 13:53

Re: Alle Captions ändern
 
wahrum? Wenn ich fragen darf...

DeddyH 4. Mär 2010 13:54

Re: Alle Captions ändern
 
Wozu das Array rekursiv durchlaufen? Einmal reicht doch.

[edit] Achso, wegen der Unterkomponenten. [/edit]

blablab 4. Mär 2010 13:58

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.

dominikkv 4. Mär 2010 14:21

Re: Alle Captions ändern
 
Zitat:

Zitat von blablab
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.

Probiers mal aus :wink:

Blup 4. Mär 2010 14:37

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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:57 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz