anchor.diff:  end;
   
   
  +function TATTabs.GetScrollPageSize: integer;
  +begin
  +  Result:= ClientWidth * 2 div 3;
  +end;
  +
  +procedure TATTabs.DoScrollAnimation(APosTo: integer);
  +const
  +  cStep = 70; //pixels
  +  cSleepTime = 20; //msec
  +begin
  +  Enabled:= false;
  +  try
  +    if APosTo>FScrollPos then
  +      repeat
  +        FScrollPos:= Min(APosTo, FScrollPos+cStep);
  +        Paint;
  +        Sleep(cSleepTime);
  +        Application.ProcessMessages;
  +      until FScrollPos=APosTo
  +    else
  +      repeat
  +        FScrollPos:= Max(APosTo, FScrollPos-cStep);
  +        Paint;
  +        Sleep(cSleepTime);
  +        Application.ProcessMessages;
  +      until FScrollPos=APosTo;
  +  finally
  +    Enabled:= true;
  +  end;
  +end;
  +
  +procedure TATTabs.DoScrollLeft;
  +var
  +  NewPos: integer;
  +begin
  +  NewPos:= Max(0, FScrollPos-GetScrollPageSize);
  +  if NewPos<>FScrollPos then
  +    DoScrollAnimation(NewPos);
  +end;
  +
  +procedure TATTabs.DoScrollRight;
  +var
  +  NewPos: integer;
  +begin
  +  NewPos:= FScrollPos+GetScrollPageSize;
  +  if NewPos<>FScrollPos then
  +    DoScrollAnimation(NewPos);
  +end;
  +
  +
   end.
   
  
positive.code: 
        cAtArrowScrollLeft:
          begin
            Dec(FScrollPos, FTabWidth);
            if FScrollPos<0 then
              FScrollPos:= 0;
            Invalidate;
          end;
  
        cAtArrowScrollRight:
          begin
            Inc(FScrollPos, FTabWidth);
            Invalidate;
          end;
  
        cAtTabPlus:
  
negative.code:     procedure DoPaintXTo(C: TCanvas; const R: TRect; ATabBg, ATabCloseBg,
        ATabCloseBorder, ATabCloseXMark: TColor);
      procedure DoPaintDropMark(C: TCanvas);
      procedure DoScrollAnimation(APosTo: integer);
      procedure GetRectArrowDown(out R: TRect);
      procedure GetRectArrowLeftRight(out RL, RR: TRect);
      function GetScrollPageSize: integer;
      function RealTabAngle: Integer;
      procedure SetTabAngle(AValue: Integer);
      procedure SetTabAngleMaxTabs(AValue: Integer);
  