anchor.diff:      fRange: TKMRangeInt;
       fThumbText: UnicodeString;
       fAutoThumbWidth: Boolean;
  +    fFixedThumbWidth: Boolean;
       procedure SetCaption(const aValue: UnicodeString);
       procedure SetPosition(aValue: Word);
       procedure SetRange(const aRange: TKMRangeInt);
  
positive.code:       stepX := (Width - ThumbWidth) / (fMaxValue - fMinValue) / Step; // width between marks
        posX := stepX * (Position / Step) + (ThumbWidth div 2); // actual marks positions on track
      end;
      if not AutoThumbWidth 
        or not InRange(X - AbsLeft, posX - ThumbWidth div 2, posX + ThumbWidth div 2) then // do not update pos, if we hover over thumb
        NewPos := EnsureRange(fMinValue + Round(((X-AbsLeft-ThumbWidth div 2) / (Width - ThumbWidth - 4))*(fMaxValue - fMinValue)/Step)*Step, fMinValue, fMaxValue);
    end;
  
negative.code:   CaptionWidth := -1;
  
    Step := 1;
    fAutoThumbWidth := False;
    fFixedThumbWidth := False;
  
    UpdateThumbWidth;
  end;
  