![]() |
Eigenschaft vorhanden?
Hi
Ich laufe alle Komponenten auf meinem Form durch. Nun will ich wenn die Komponente beispielsweise die Eigenschaft "Caption" hat dieser Caption etwas zuweisen. In ![]()
Delphi-Quellcode:
aber dazu brauch ich ja das Handel und das hab ich nicht. Weis einer Rat?
IsPublishedProp(FindControl(Handle), Property) then
|
Re: Eigenschaft vorhanden?
Hallo Christoph,
du hast doch das Control schon - warum willst du noch FindControl(Handle) aufrufen? Grüße vom marabu |
Re: Eigenschaft vorhanden?
Ja aber wenn ich alle Komponenten durchlaufe weis ich ja nicht "was es ist". Da aber From1.Components TComponent zurückliefert weis ich ja nicht ob die Komponente Caption hat.
|
Re: Eigenschaft vorhanden?
Und Was erwartet der erste parameter von IsPublishedProp? Bestimmt TComponent oder ein Vorfahre. Also funktionierts doch ganz einfach:
Delphi-Quellcode:
for i:=0 to ComponentCount-1
begin if IsPublishedProp(Components[i], 'Caption') then end; |
Re: Eigenschaft vorhanden?
also wenn du nur bei bestimmten Objecten was ändern wills könntest du das so machen :
Delphi-Quellcode:
wenn du bei allen Objecten die ein Caption haben was machen möchtest hab ich keine Idee (atm ^^)
for I:=0 to ComponentCount-1 do
if Components[I] is Tedit then (Components[i] as Tedit).Text := 'irgendwas'; |
Re: Eigenschaft vorhanden?
Argh ich weis nicht was ich da für Problem hatte :wall: . Irgendwie aufm Schlach gestanden :wink:
@TeronG: Das hatte ich auch schonmal aber da ich sehr viele unterschiedliche Komponenten habe die Caption haben würde meine "If Komponente = Klasse"-Liste ziemlich lang werden. Es funktioniert zwar ist aber nicht schön. TComponent hat die Eigenschaft Caption ja nicht. Deshalb geht dann ja Components[0].Caption nicht. Wie kann ich nun "gewaltsam" Caption aufrufen? |
Re: Eigenschaft vorhanden?
Delphi-Quellcode:
marabu
var
i: integer; c: TComponent; begin for i := 0 to ComponentCount - 1 do begin c := Components[i]; if IsPublishedProp(c, 'Caption') then SetStrProp(c, 'Caption', 'OK'); end; end; |
Re: Eigenschaft vorhanden?
Wunderbar :thumb:
Das ist genau das was ich gesucht habe. Dank euch für eure schnelle Hilfe ging ja mal wieder echt flott :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:25 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