Zitat:
//Eigenschaft im Objektinspektor
Im
OI bringt die so erstmal nicht viel und das Beispiel würde auch ohne dieses Property funktionieren.
Jein. Das Beispiel funktioniert ohne die Zeile
property ClearButton: TButton read FClearButton;
.
Aber diese eine Zeile ist der einfachste Weg die Eigenschaften des Buttons zu ändern. z.B. Caption
Wenn der Button über den
OI beinflussbar sein soll (z.B. Ändern der Caption),
dann muß diese Eigenschaft entweder ebenfalls als Property in die Hauptkomponente, wo die Getter und Setter den Wert dann an die Subkomponente weiterreicht (so kann man leicht und geziehlt nur einige Eigenschaften freigeben),
oder man muß dem
OI sagen, daß er diese Komponente, welche er in dem Property vorfindet, ebenfalls verwalten soll (z.B. SetSubComponent).
Es gibt viele Wege nach Rom.
mit der Zeile
property ClearButton: TButton read FClearButton;
wird eine Eigenschaft ClearButton erzeugt. Diese enthält alle Eigenschaften des Buttons. Man kann sie mit dem + vor der Eigenschaft aufklappen. (siehe Screenshots im Anhang)
Das ist der schnellste Weg alle Eigenschaften zur Verfügung zu stellen.
Sicherlich nicht der beste, aber ein möglicher.
Wenn Du verhindern willst, z.B.
MyRadioGroup1.ClearButton.Free;
aufzurufen, kommst Du um "deinen" Weg nicht herum.
Aber dann hätte ich mehr als 10 Min. für das Beispiel gebraucht.
Wie das geht habe ich ja schon im Forum geschrieben:
http://www.delphipraxis.net/67231-ei...tml#post452312
Wenn das OnClick via Event "ordentlich" extrern verfügbar sein soll, dann braucht man noch ein OnClickEvent in der Hauptkomponente, welches z.B. im ClearButtonClick aufgerufen wird.
Stimmt.
Im Moment ist das OnClick Ereignis vorbelegt. Um es zu ändern müsste man im Quellcode z.B. folgendes schreiben:
Delphi-Quellcode:
...
MyRadioGroup.ClearButton.OnClick := MeineNeueOnClickMethode;
...