Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Komponente erstellen (TMyRadioGroup)

  Alt 3. Apr 2014, 10:01
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;
...
Miniaturansicht angehängter Grafiken
delphi_oi_01.png   delphi_oi_02.png  
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat