anchor.diff:      FScrollStep: integer;
       FSliderPos: TfpgCoord;
       FSliderLength: TfpgCoord;
  -    FSliderDragging: boolean;
  -    FStartBtnPressed: Boolean;
  -    FEndBtnPressed: Boolean;
       FSliderDragPos: TfpgCoord;
       FSliderDragStart: TfpgCoord;
       FScrollTimer: TfpgTimer;
  
positive.code:     begin
        // Up button has been pressed
        PositionChange(-FScrollStep);
        FStartBtnPressed := True;
        FActiveButtonRect.SetRect(0, 0, Width, Width);
      end
      else if y >= Height - Width then
      begin
        // Down button has been pressed
        PositionChange(FScrollStep);
        FEndBtnPressed := True;
        FActiveButtonRect.SetRect(0,Height-Width, Width, Height);
      end
      else if (y >= (Width + FSliderPos)) and (y <= Width + FSliderPos + FSliderLength) then
      begin
        FSliderDragging := True;
        FSliderDragPos  := y;
      end
      else if (y > Width) and (y < (Width + FSliderPos)) then
      begin
        // Clicked between Up button and Slider
        PrevAreaPressed := True;
        PositionChange(-(FScrollStep * 5))
      end
      else if (y < (Height - Width)) and (y > (Width + FSliderPos + FSliderLength)) then
      begin
        // Clicked between Down button and Slider
        NextAreaPressed := True;
        PositionChange(FScrollStep * 5);
      end;
    end
  
negative.code:   // Paint the area between the buttons and the Slider
    if Orientation = orVertical then
    begin
      if FScrollbarDownPart in [sbpUpBack, sbpPageUpBack] then
      begin
        Canvas.SetColor(clShadow1);
        Canvas.FillRectangle(0, Width, Width, FSliderPos);
        Canvas.SetColor(clScrollBar);
      end
      else if FScrollbarDownPart in [sbpDownForward, sbpPageDownForward] then
      begin
        Canvas.SetColor(clShadow1);
        Canvas.FillRectangle(0, FSliderPos + FSliderLength, Width, Height - Width - (FSliderPos + FSliderLength));
        Canvas.SetColor(clScrollBar);
      end;
    end
    else
    begin
      if FScrollbarDownPart in [sbpUpBack, sbpPageUpBack] then
      begin
        Canvas.SetColor(clShadow1);
        Canvas.FillRectangle(Height, 0, FSliderPos, Height);
        Canvas.SetColor(clScrollBar);
      end
      else if FScrollbarDownPart in [sbpDownForward, sbpPageDownForward] then
      begin
        Canvas.SetColor(clShadow1);
        Canvas.FillRectangle(FSliderPos + FSliderLength, 0, Width - Height - (FSliderPos + FSliderLength), Height);
        Canvas.SetColor(clScrollBar);
      end;
    end;
  