anchor.diff:      end;
   end;
   
  +procedure TfpgCustomEditGrid.SetReturnWay;
  +begin
  +  case FEditWay of
  +    edNone:
  +      FEditing:= False;
  +    edColumn:
  +      if FocusCol < Pred(ColumnCount) then
  +        FocusCol := FocusCol + 1
  +      else
  +        FEditing:= False;
  +    edRow:
  +      if FocusRow < Pred(RowCount) then
  +        FocusRow := FocusRow + 1
  +      else
  +        FEditing:= False;
  +  end;
  +  SetFocus;
  +  if FEditing then
  +    SetEditCell;
  +end;
  +
  +procedure TfpgCustomEditGrid.SetTabWay(ShiftState: TShiftState);
  +begin
  +  if ssShift in ShiftState then
  +  begin
  +    if FocusCol > 0 then
  +      FocusCol := FocusCol - 1;
  +  end
  +  else
  +    if FocusCol < Pred(ColumnCount) then
  +      FocusCol := FocusCol + 1;
  +  FEditing := False;
  +  SetFocus;
  +end;
  +
   procedure TfpgCustomEditGrid.IniTextCell;
   var
     Pt: TPoint;
  
positive.code:           Cells[FocusCol, FocusRow] := FCellEditInteger.Text;
            FCellEditInteger.Text:= '';
            FCellEditInteger.Visible := False;
            case FEditWay of
              edNone:
                FEditing:= False;
              edColumn:
                if FocusCol < Pred(ColumnCount) then
                  FocusCol := FocusCol + 1
                else
                  FEditing:= False;
              edRow:
                if FocusRow < Pred(RowCount) then
                  FocusRow := FocusRow + 1
                else
                  FEditing:= False;
            end;
            SetFocus;
            if FEditing then
              SetEditCell;
          end;
        KeyTab:
          begin
            FCellEditInteger.Text := '';
            FCellEditInteger.Visible := False;
            if ssShift in ShiftState then
            begin
              if FocusCol > 0 then
                FocusCol := FocusCol - 1;
            end
            else
              if FocusCol < Pred(ColumnCount) then
                FocusCol := FocusCol + 1;
            FEditing := False;
            SetFocus;
          end;
        KeyEscape:
          begin
  
negative.code:           Cells[FocusCol, FocusRow] := FCellEditFloat.Text;
            FCellEditFloat.Text:= '';
            FCellEditFloat.Visible := False;
            SetReturnWay;
          end;
        KeyTab:
          begin
            FCellEditFloat.Text := '';
            FCellEditFloat.Visible := False;
            SetTabWay(ShiftState);
          end;
        KeyEscape:
          begin
  