Gibt es nicht in XE oder XE2 eine hauseigene Lösung?
Mir ist so, als hatte ich das vor 'ner Weile hier mal gesehn.
Ich glaub da wird intern ein generisches Objekt erstellt, worüber die Umleitung geregelt wird und dann wird die
RTTI auf die neue Klasse umgeleitet, bzw. der Typ wird im gewünschten Objekt ersetzt, so daß ab nun alles über die neue Klasse abläuft, oder irgendwie so.
SetEnabled ist ja virtual, also könnte man auch einfach die
VMT ändern.
TApplicationEvents.OnMessage und dort auf CM_ENABLEDCHANGED
mit dem Handle deiner Komponente warten. [edit]alle[/edit]
PS: Du hast dir nicht umsonst den
VCL-Quellcode gekauft ... ich an deiner Stelle würde dort öfters mal nachsehn.
Ab XE2 könnte man eventuell auch das DataBinding für sowas verwenden.