Actually, using a frame with both components on it does not imply any change in the code being written (nor to its behavior) to acces each component from each other, so this approach does - IMHO - serve good to the user purpose: you see a treeview and a button, with their respective message handlers, as you would with a derived component, thou' in an far easier way.
Have no clue, thou', how to put the frame as a component on the components-bar, which may the make the whole thing transparent to the final user of the code. I personally never used the frames before, but this gave me a hint on how to easily solve some complicated objects I wanted to write... Cheers, A.