Hello Jonas,
I see following options how to implement your application case:
Option 1: Common "scroll component" base class
You implement a GUI component containing the outline box, the scrollbar and all the functionality to update the scrollbar/outline box in response to user interactions. This component serves thereupon as the base class for all other components where you expect the scroll behavior. The derived subclasses inherit the functionality implemented in the base class.
For more details see Subclassing components.
Option 2: Implement a dedicated "scroll area" component
This approach, probably, is what you try to do do actually. You implement a GUI component containing an outline box, scrollbar and all the functionality needed to update them. Then wherever you need the scroll area you embed an instance of your "scroll area" component. The problem here: the "scroll area" is an embedded object and you can't add other embedded object to an already embedded object visually via drag&drop in the Composer window. The solution: the views you want to scroll within the scroll area have to be created and added programatically. Assuming ScrollBox is the name of an instance of the "scroll area" component, you can add a component (or any other view) to it by using the method Add(). Please note that the Embedded property of the affected view is set true:
var Examples::SomeGUIComponent component = new Examples::SomeGUIComponent;
component.Embedded = true;
ScrollBox.Add( component, 0 );
For more details see Compose the component programmatically.
Option 3: Use a "scroll area" template
With this approach you store the implementation needed for the "scroll area" as template. For this purpose you create in the Gallery a new folder where you can store your own templates. Then you select in Composer the outline box, the scrollbar and all the variables, methods, etc. needed by your "scroll area" implementation and drag them together to your Gallery folder. This creates a template of the copied members. Once the template is available you can drag&drop it from the Gallery to all GUI components where the scroll functionality is needed. This results in copies of the "scroll area" functionality.
For more details please see Managing templates.
Does it help you further?
Best regards
Paul Banach