anchor.diff:    Enabled:= true;
   end;
   
  +function TATTabs.GetTabFlatEffective(AIndex: integer): boolean; inline;
  +begin
  +  Result:= FOptShowFlat and not (FOptShowFlatMouseOver and (FTabIndexOver=AIndex));
  +end;
  +
  +function TATTabs.GetTabBgColor_Plus: TColor;
  +begin
  +  if GetTabFlatEffective(cTabIndexPlus) then
  +    Result:= FColorBg
  +  else
  +  if (FTabIndexOver=cTabIndexPlus) and not _IsDrag then
  +    Result:= FColorTabOver
  +  else
  +    Result:= FColorTabPassive;
  +end;
  +
  +function TATTabs.GetTabBgColor_Passive(AIndex: integer): TColor;
  +begin
  +  if GetTabFlatEffective(AIndex) then
  +    Result:= FColorBg
  +  else
  +  if (FTabIndexOver=AIndex) and not _IsDrag then
  +    Result:= FColorTabOver
  +  else
  +    Result:= FColorTabPassive;
  +end;
  +
  +function TATTabs.GetTabBgColor_Active(AIndex: integer): TColor;
  +begin
  +  if GetTabFlatEffective(AIndex) then
  +    Result:= FColorBg
  +  else
  +    Result:= FColorTabActive;
  +end;
  +
   
   end.
   
  
positive.code: 
  procedure TATTabs.DoPaintBgTo(C: TCanvas; const ARect: TRect);
  begin
    C.Brush.Color:= FColorBg;
    C.FillRect(ARect);
  end;
  
  procedure TATTabs.DoPaintTo(C: TCanvas);
  var
    RRect, RBottom, RectX: TRect;
    NColorBg, NColorXBg, NColorXBorder, NColorXMark, NColorFont: TColor;
    NLineX1, NLineY1, NLineX2, NLineY2: integer;
    ElemType: TATTabElemType;
    Data: TATTabData;
  
negative.code:     attcDotsMiddle,
      attcDotsRight
      );
  
  type
    TATTabListCollection = class(TCollection)
    public
      AOwner: TCustomControl;
    end;
  
  type
    { TATTabData }
  