Delphi-PRAXiS
Seite 2 von 3     12 3      

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 FindComponent auch für property ??? (https://www.delphipraxis.net/68443-findcomponent-auch-fuer-property.html)

Martin K 29. Apr 2006 18:07

Re: FindComponent auch für property ???
 
Cool, das funktioniert!!!! :thumb:

Vielen Dank an alle.

Martin K 29. Apr 2006 18:16

Re: FindComponent auch für property ???
 
Kaum ist ein Problem gelöst, kommt schon das nächste:

Funktioniert das auch mit einer "Untereigenschaft" ?

also z.B.:
Label1.Font.Name ????

Dieses Beispiel war ja für Label1.Caption

JasonDX 29. Apr 2006 18:29

Re: FindComponent auch für property ???
 
Zitat:

Zitat von Martin K
Kaum ist ein Problem gelöst, kommt schon das nächste:

Funktioniert das auch mit einer "Untereigenschaft" ?

also z.B.:
Label1.Font.Name ????

Dieses Beispiel war ja für Label1.Caption

Ja, die Klasse war TLabel, Label1 die Instanz davon, und Caption die Eigenschaft.
"Untereigenschaften" sind auch nur wieder Eigenschaften von Klassen. TLabel.Font ist vom Typ TFont, den Instanz-Zeiger kriegst du ueber Label1.Font, und die Eigenschaft heisst "Name". Funktioniert also gleich wie bei TLabel.Caption ;)

greetz
Mike

jim_raynor 29. Apr 2006 19:14

Re: FindComponent auch für property ???
 
Du müsstest mit GetObjectProp(Label1,'Font') das Schrift-Objekt ermitteln und dann wieder mit SetStrProp(Font,'Name','Test') setzen.

Delphi-Quellcode:
var
  tmpObject: TObject; // TObject da tatsächliche Klasse zur Laufzeit unbekannt ist und auch egal ist
begin
  tmpObject:=GetObjectProp(Label1,'Font');
  SetStrProp(tmpObject,'Name','Test);
end;

Martin K 29. Apr 2006 23:51

Re: FindComponent auch für property ???
 
Ja, das geht!
Danke :thumb:

Hab's noch etwas vereinfacht:
Das ganze geht auch in einer Zeile und ohne zusätzliche Variable:

Delphi-Quellcode:
SetStrProp(GetObjectProp(FindComponent('Label1'), 'Font'), 'Name', 'Arial');
Das ganze ändert also die Schriftart von Label1 in Arial,
wobei alles nur in Strings übergeben wird!

Martin K 30. Apr 2006 11:59

Re: FindComponent auch für property ???
 
Hi, ich bin's nochmal:

Ist es auch irgendwie möglich, den Defaultwert einer property abzufragen?

fkerber 30. Apr 2006 12:06

Re: FindComponent auch für property ???
 
Hi!

Was meinst du mit "Default-Wert"?
Den Wert den sie beim Start des Programms haben/hatten?


Ciao Frederic

Martin K 30. Apr 2006 12:19

Re: FindComponent auch für property ???
 
Zitat:

Zitat von fkerber
Hi!

Was meinst du mit "Default-Wert"?
Den Wert den sie beim Start des Programms haben/hatten?


Ciao Frederic

Ja, genau den!
Bzw. den Wert, den eine Property annimmt, wenn nichts an der entspr. Stelle in der dfm-Datei steht.

z.B. ist der Defaultwert der Property 'Transparent' eines TLabel FALSE.

Martin K 30. Apr 2006 13:06

Re: FindComponent auch für property ???
 
Wie kann man nun allg. den Default-Wert einer Property erhalten?
Ist das überhaupt möglich???

mkinzler 30. Apr 2006 13:25

Re: FindComponent auch für property ???
 
Da wird er den wert aus der klasse Lesen oder der Superklasse, wenn die Klasse auch kein Wert vorsieht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:17 Uhr.
Seite 2 von 3     12 3      

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