anchor.diff:  
   procedure TfpgTreeview.HandleMouseScroll(x, y: integer;
     shiftstate: TShiftState; delta: smallint);
  +var
  +  i: integer;
   begin
     inherited HandleMouseScroll(x, y, shiftstate, delta);
     if delta > 0 then
     begin
       inc(FYOffset, FScrollWheelDelta);
  -    if FYOffset > VisibleHeight then
  -      FYOffset := VisibleHeight;
  +    i := (GetNodeHeightSum * GetNodeHeight) - VisibleHeight + FHScrollbar.Height;
  +    if FYOffset > i then
  +      FYOffset := i;
  +    inc(FVScrollbar.Position, FScrollWheelDelta);
     end
     else
     begin
       dec(FYOffset, FScrollWheelDelta);
       if FYOffset < 0 then
         FYOffset := 0;
  -  end;
  -    
  +    dec(FVScrollbar.Position, FScrollWheelDelta);
  +  end;
     UpdateScrollbars;
     RePaint;
   end;
  
positive.code:   FHScrollbar.OnScroll    := @HScrollbarScroll;
    FHScrollbar.Visible     := False;
    FHScrollbar.Position    := 0;
    FHScrollbar.SliderSize  := 0.2;
    
    FVScrollbar := TfpgScrollbar.Create(self);
    FVScrollbar.Orientation := orVertical;
  
negative.code:   {$IFDEF DEBUG}
    writeln(Classname, '.UpdateScrollbars');
    {$ENDIF}
    FVScrollbar.Visible := VisibleHeight < (GetNodeHeightSum * GetNodeHeight);
    FVScrollbar.Min := 0;
    FVScrollbar.Max := (GetNodeHeightSum * GetNodeHeight) - VisibleHeight + FHScrollbar.Height;
    FHScrollbar.Min := 0;
    FHScrollbar.Max := MaxNodeWidth - VisibleWidth + FVScrollbar.Width;
    FHScrollbar.Visible := MaxNodeWidth > Width - 2;
  