Ich weiß nicht ob es das ist was du suchst?
Delphi-Quellcode:
function ClientRangeRect(Control: TControl): TRect;
var
O: TPoint;
begin
// Control = Client, Parent = ScrollBox, Result in Client-Koordinaten;
O := Control.ClientToParent(Point(0, 0), Control.Parent);
Result := Control.Parent.ClientRect;
Result.Top := Result.Top - O.Y;
Result.Left := Result.Left - O.X;
Result.Bottom := Result.Bottom - O.Y;
Result.Right := Result.Right - O.X;
Result.Bottom := Min(Result.Bottom, Control.ClientHeight);
Result.Right := Min(Result.Right, Control.ClientWidth);
end;