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 diesem Thread steht was von
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 05:18 Uhr. |
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