Ah ha - you want groupbox top and groupbox bottom to scroll up/down too. Got it. Sorry misunderstood the requirement
Try this... no calculations... just using layout managers...
Begin_Com Role(*EXTENDS #PRIM_WEB) Theme(#SYS_THEME<MaterialDesignBlue>) Layoutmanager(#LayoutMain)
Define_Com Class(#PRIM_TBLO) Name(#LayoutMain)
Define_Com Class(#PRIM_TBLO.Column) Name(#LayoutMainColumn1) Displayposition(1) Parent(#LayoutMain)
Define_Com Class(#PRIM_TBLO.Row) Name(#LayoutMainRow1) Displayposition(1) Parent(#LayoutMain) Height(48) Units(Pixels)
Define_Com Class(#PRIM_TBLO.Row) Name(#LayoutMainRow2) Displayposition(2) Parent(#LayoutMain)
Define_Com Class(#PRIM_TBLO.Row) Name(#LayoutMainRow3) Displayposition(3) Parent(#LayoutMain) Height(48) Units(Pixels)
Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutMainItem1) Alignment(TopCenter) Column(#LayoutMainColumn1) Manage(#Panel1) Parent(#LayoutMain) Row(#LayoutMainRow3)
Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutMainItem2) Alignment(TopCenter) Column(#LayoutMainColumn1) Manage(#Panel) Parent(#LayoutMain) Row(#LayoutMainRow1)
Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutMainItem3) Manage(#Panelmidt) Parent(#LayoutMain) Row(#LayoutMainRow2) Column(#LayoutMainColumn1) Alignment(CenterLeft) Flow(Down)
Define_Com Class(#PRIM_TBLO) Name(#Layoutmidt)
Define_Com Class(#PRIM_TBLO.Column) Name(#LayoutColumn1) Displayposition(1) Parent(#Layoutmidt)
Define_Com Class(#PRIM_TBLO.Row) Name(#LayoutRow1) Displayposition(1) Parent(#Layoutmidt)
Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutmidtItem1) Manage(#GroupBoxBotton) Parent(#Layoutmidt) Row(#LayoutRow1) Column(#LayoutColumn1) Alignment(TopLeft) Flow(Down) Sizing(FitToWidth)
Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutmidtItem2) Manage(#GroupBoxTop) Parent(#Layoutmidt) Row(#LayoutRow1) Column(#LayoutColumn1) Alignment(TopLeft) Flow(Down) Sizing(FitToWidth)
Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutmidtItem3) Manage(#GroupBoxMidt) Parent(#Layoutmidt) Row(#LayoutRow1) Column(#LayoutColumn1) Alignment(TopLeft) Flow(Down) Sizing(ContentHeightFitToWidth)
Define_Com Class(#PRIM_TBLO) Name(#LayoutGroupboxMidt)
Define_Com Class(#PRIM_TBLO.Column) Name(#LayoutColumn2) Displayposition(1) Parent(#LayoutGroupboxMidt)
Define_Com Class(#PRIM_TBLO.Row) Name(#LayoutRow4) Displayposition(1) Parent(#LayoutGroupboxMidt)
Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutGroupboxMidtItem1) Manage(#List) Parent(#LayoutGroupboxMidt) Row(#LayoutRow4) Column(#LayoutColumn2) Alignment(TopLeft) Sizing(ContentHeightFitToWidth)
Define_Com Class(#PRIM_TBLO) Name(#LayoutList)
Define_Com Class(#PRIM_TBLO.Column) Name(#LayoutListColumn1) Displayposition(1) Parent(#LayoutList)
Define_Com Class(#PRIM_TBLO.Row) Name(#LayoutListRow1) Displayposition(1) Parent(#LayoutList)
Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutListItem1) Alignment(CenterLeft) Column(#LayoutListColumn1) Manage(#ListPrimaryText) Marginleft(16) Marginright(16) Parent(#LayoutList) Row(#LayoutListRow1) Sizing(ContentHeightFitToWidth)
Define_Com Class(#PRIM_PANL) Name(#Panel) Displayposition(1) Height(48) Left(0) Parent(#COM_OWNER) Tabposition(1) Tabstop(False) Top(0) Width(1200) Themedrawstyle('DarkTitle')
Define_Com Class(#PRIM_PANL) Name(#Panel1) Displayposition(2) Height(48) Left(0) Parent(#COM_OWNER) Tabposition(2) Tabstop(False) Top(752) Width(1200) Themedrawstyle('DarkTitle')
Define_Com Class(#PRIM_PANL) Name(#Panelmidt) Displayposition(3) Left(0) Parent(#COM_OWNER) Tabposition(3) Tabstop(False) Top(48) Height(704) Width(1200) Layoutmanager(#Layoutmidt) Verticalscroll(True)
Define_Com Class(#PRIM_GPBX) Name(#GroupBoxTop) Displayposition(1) Left(0) Parent(#Panelmidt) Tabposition(1) Tabstop(False) Top(0) Width(1200) Caption('GRPBOX top') Height(75)
Define_Com Class(#PRIM_GPBX) Name(#GroupBoxMidt) Displayposition(2) Left(0) Parent(#Panelmidt) Tabposition(2) Tabstop(False) Top(75) Width(1200) Caption('GRPBOX Midt') Layoutmanager(#LayoutGroupboxMidt) Height(216)
Define_Com Class(#PRIM_GPBX) Name(#GroupBoxBotton) Displayposition(3) Left(0) Parent(#Panelmidt) Tabposition(3) Tabstop(False) Top(291) Width(1200) Caption('GRPBOX Bottom') Height(80)
Define_Com Class(#PRIM_MD.List) Name(#List) Displayposition(1) Layoutmanager(#LayoutList) Left(4) Parent(#GroupBoxMidt) Rowheight(48) Tabposition(1) Themedrawstyle('Card') Top(17) Height(199) Width(1192)
Define_Com Class(#PRIM_MD.ListLabel) Name(#ListPrimaryText) Caption('Single line item') Displayposition(1) Height(23) Left(16) Parent(#List) Tabposition(1) Themedrawstyle('Heading3') Top(13) Width(1158)
Evtroutine Handling(#Com_owner.Initialize)
Set Com(#GroupBoxMidt #List) Height(0)
#GroupBoxMidt.Caption += #GroupBoxMidt.Height.asstring
Begin_Loop Using(#LISTCOUNT) To(20)
#ListPrimaryText := 'Linie: ' + #LISTCOUNT.asstring
Add_Entry To_List(#List)
End_Loop
Endroutine
Evtroutine Handling(#SYS_WEB.DeviceChanged #COM_OWNER.SizeChanged)
#GroupBoxMidt.Caption := 'GRPBOX Midt: ' + #GroupBoxMidt.Height.asstring
Endroutine
End_Com