anchor.diff:      property OptMouseDragEnabled: boolean read FOptMouseDragEnabled write SetOptMouseDragEnabled default _InitOptMouseDragEnabled;
       property OptMouseDragOutEnabled: boolean read FOptMouseDragOutEnabled write FOptMouseDragOutEnabled default _InitOptMouseDragOutEnabled;
   
  +    property OptHintForX: string read FHintForX write FHintForX;
  +    property OptHintForPlus: string read FHintForPlus write FHintForPlus;
  +    property OptHintForArrowLeft: string read FHintForArrowLeft write FHintForArrowLeft;
  +    property OptHintForArrowRight: string read FHintForArrowRight write FHintForArrowRight;
  +    property OptHintForArrowMenu: string read FHintForArrowMenu write FHintForArrowMenu;
  +    property OptHintForUser0: string read FHintForUser0 write FHintForUser0;
  +    property OptHintForUser1: string read FHintForUser1 write FHintForUser1;
  +    property OptHintForUser2: string read FHintForUser2 write FHintForUser2;
  +    property OptHintForUser3: string read FHintForUser3 write FHintForUser3;
  +    property OptHintForUser4: string read FHintForUser4 write FHintForUser4;
  +
       //events
       property OnTabClick: TNotifyEvent read FOnTabClick write FOnTabClick;
       property OnTabPlusClick: TNotifyEvent read FOnTabPlusClick write FOnTabPlusClick;
  
positive.code:     FRectButtonUser2: TRect;
      FRectButtonUser3: TRect;
      FRectButtonUser4: TRect;
  
      //events    
      FOnTabClick: TNotifyEvent;
  
negative.code:   FTabIndexOver:= GetTabAt(X, Y, IsX);
    FTabIndexDrop:= FTabIndexOver;
  
    if ShowHint and ((FTabIndexOver=cTabIndexPlus) or (FTabIndexOver=cTabIndexPlusBtn)) then
    begin
      Hint:= FHintForPlus;
      FTabIndexHinted:= -1;
      Application.ActivateHint(Mouse.CursorPos);
    end
    else
    if ShowHint and (FTabIndexOver=cTabIndexArrowScrollLeft) then
    begin
      Hint:= FHintForArrowLeft;
      FTabIndexHinted:= -1;
      Application.ActivateHint(Mouse.CursorPos);
    end
    else
    if ShowHint and (FTabIndexOver=cTabIndexArrowScrollRight) then
    begin
      Hint:= FHintForArrowRight;
      FTabIndexHinted:= -1;
      Application.ActivateHint(Mouse.CursorPos);
    end
    else
    if ShowHint and (FTabIndexOver=cTabIndexArrowMenu) then
    begin
      Hint:= FHintForArrowMenu;
      FTabIndexHinted:= -1;
      Application.ActivateHint(Mouse.CursorPos);
    end
    else
    if ShowHint and (IsX or (FTabIndexOver=cTabIndexCloseBtn)) then
    begin
      Hint:= FHintForX;
      FTabIndexHinted:= -1;
      Application.ActivateHint(Mouse.CursorPos);
    end
    else
    if ShowHint and (FTabIndexOver=cTabIndexUser0) then
    begin
      Hint:= FHintForUser0;
      FTabIndexHinted:= -1;
      Application.ActivateHint(Mouse.CursorPos);
    end
    else
    if ShowHint and (FTabIndexOver=cTabIndexUser1) then
    begin
      Hint:= FHintForUser1;
      FTabIndexHinted:= -1;
      Application.ActivateHint(Mouse.CursorPos);
    end
    else
    if ShowHint and (FTabIndexOver=cTabIndexUser2) then
    begin
      Hint:= FHintForUser2;
      FTabIndexHinted:= -1;
      Application.ActivateHint(Mouse.CursorPos);
    end
    else
    if ShowHint and (FTabIndexOver=cTabIndexUser3) then
    begin
      Hint:= FHintForUser3;
      FTabIndexHinted:= -1;
      Application.ActivateHint(Mouse.CursorPos);
    end
    else
    if ShowHint and (FTabIndexOver=cTabIndexUser4) then
    begin
      Hint:= FHintForUser4;
      FTabIndexHinted:= -1;
      Application.ActivateHint(Mouse.CursorPos);
    end
    else
    if ShowHint and (FTabIndexOver>=0) then
    begin
      Data:= GetTabData(FTabIndexOver);
      if Assigned(Data) and (Data.TabHint<>'') then
      begin
        Hint:= Data.TabHint;
        if FTabIndexOver<>FTabIndexHinted then
        begin
          FTabIndexHinted:= FTabIndexOver;
          Application.ActivateHint(Mouse.CursorPos);
        end;
      end
      else
      begin
        FTabIndexHinted:= -1;
        Hint:= '';
        Application.HideHint;
      end;
    end
    else
  