anchor.diff:      FButtonUp.Enabled := True
     else
     begin
  -    FButtonUp.Enabled := False;
  +//    FButtonUp.Enabled := False;
       FUp := False;
       if Assigned(FTimer) then
         FTimer.Enabled := False;
  
positive.code:   begin
      Value := FValue - FIncrement;
      DoOnChange;
    end;
  end;
  
  
negative.code: procedure TfpgSpinEdit.ButtonUpClick(Sender: TObject);
  begin
    if FValue + FIncrement <= FMaxValue then
    begin
       Value := FValue + FIncrement;
      DoOnChange;
      EnableButtons;
    end
    else if not IsMaxLimitReached then
    begin
      Value := FMaxValue;
      DoOnChange;
      EnableButtons;
    end;
  end;
  
  procedure TfpgSpinEdit.ButtonDownClick(Sender: TObject);
  begin
    if FValue - FIncrement >= FMinValue then
    begin
       Value := FValue - FIncrement;
      DoOnChange;
      EnableButtons;
    end
    else if not IsMinLimitReached then
    begin
      Value := FMinValue;
      DoOnChange;
      EnableButtons;
    end;
  end;
  
  procedure TfpgSpinEdit.ButtonUpMouseDown(Sender: TObject; AButton: TMouseButton; AShift: TShiftState; const AMousePos: TPoint);
  