How can I add a new event to an existing component (for example, OnScroll to a TTreeView) without building a new ComponentClass?
You can replace existing event handlers with custom event handlers. A good example is replacing the standard Application.OnHint with your own procedure to display hints in a status bar. But if you want to add absolutely new events, you have to derive a new object from the class that you want to add the event to. I don’t know of any other way around it.