Zitat von
scrat1979:
1.) Obwohl ich die vererbten Eigenschaften (z.B. Wordwrap) nicht explizit in der published-Rubrik übernommen habe (wie es die meisten anderen autoren machen), erscheinen sie und funktionieren. Was für ein Vorteil haben die anderen Autoren dadurch (ausser mehr Arbeit
)?
Dann waren die Eigenschaften in der Basisklasse schon published. Sprich: du hast von TLabel und nicht TCustomLabel abgeleitet (wie die anderen). Mehr dazu in 3.
Zitat von
scrat1979:
2.) Es gibt bei TLabel das Event OnMouseEnter. Warum lässt sich die eigene aufgerufene Prozedur (z.B. OnMouseEnter) nicht mit override erweitern. Statt dessen muss man die Messages CM_MOUSEENTER etc. erneut abfangen. Bei OnEnter der TEdit-Komponenten funktionert das ja auch (habe ich schon bei meiner 1. Komponente gemacht -> nur zahlen können eingegeben werden)
Ich versteh nicht so ganz wie du das versucht hast, bzw. gemacht hast. Könntest du den Teil der Kompo mit diesem Event bzw der Methode oder aber wie du es machen wolltest, mal kurz posten?
Zitat von
scrat1979:
3.) Was ist denn der Unterschied zwsichen TLabel und TCustomLabel bzw. allgemein zwischen den Custom"-Komponenten und den "normalen" Komponenten. Eignet sich die eine Gruppe mehr zum "Ableiten" einer neuen Komponente?
TCustomXXX dient als Basis für Ableitungen. In diesen Komponenten ist das komplette Verhalten etc implementiert, aber sie veröffentlichen nicht ihre Eigenschaften und Events. Daher ist es demjenigen überlassen welcher ableitet, ob und welche Eigenschaften und Events seine Komponente haben kann/soll. Bei einer Ableitung von TLabel ist es schwierig (bzw. kein sauberer Weg) die schon von TLabel veröffentlichten Eigenschaften und Events wieder zu verstecken. Daher haben die anderen Autoren auch immer nochmals im Published Bereich die Properties veröffentlicht (Property WordBreak
.