I see. In this case IMO the best solution is indeed composition of helper Ctrls.
You can e.g. use 2 helper Ctrls to achieve what you desire:
- use one to "clip" that smaller scrollable area
- then use other to place actual Ctrls on. Make this child of "clipping" Ctrl and make it eventually BIGGER than is "clipper".
- then scroll simply by using "SetRect" to the child Ctrl.