anchor.diff:  
     if HasHandle then
       DrawSlider(False);
  +end;
  +
  +procedure TfpgScrollBar.Step(ASteps: Integer);
  +begin
  +  PositionChange(FScrollStep*ASteps);
  +end;
  +
  +procedure TfpgScrollBar.StepPage(ASteps: Integer);
  +begin
  +  PositionChange(ASteps*FPageSize);
  +end;
  +
  +procedure TfpgScrollBar.StepStart;
  +begin
  +  SetPosition(FMin)
  +end;
  +
  +procedure TfpgScrollBar.StepEnd;
  +begin
  +  SetPosition(FMax);
   end;
   
   procedure TfpgScrollBar.ScrollTimer(Sender: TObject);
  
positive.code:     if y <= Width then
      begin
        // Up button has been pressed
        PositionChange(-FScrollStep);
        FScrollbarDownPart := sbpUpBack;
        FActiveButtonRect.SetRect(0, 0, Width, Width);
      end
      else if y >= Height - Width then
      begin
        // Down button has been pressed
        PositionChange(FScrollStep);
        FScrollbarDownPart := sbpDownForward;
        FActiveButtonRect.SetRect(0,Height-Width, Width, Height);
      end
  
negative.code:     begin
        // Clicked between Up button and Slider
        FScrollbarDownPart := sbpPageUpBack;
        StepPage(-1);
      end
      else if (y < (Height - Width)) and (y > (Width + FSliderPos + FSliderLength)) then
      begin
        // Clicked between Down button and Slider
        FScrollbarDownPart := sbpPageDownForward;
        StepPage(1);
      end;
    end
    else
  