anchor.diff:            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;
  +          SetReturnWay;
           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;
  +          SetTabWay(ShiftState);
           end;
         KeyEscape:
           begin
  
positive.code:     function    GetColumnEditType(AIndex: integer): TEditType;
      procedure   SetEditCell;
      procedure   CloseEditCell;
      procedure   IniTextCell;
      procedure   FCellEditTextKeyPress(Sender: TObject; var KeyCode: word; var ShiftState: TShiftState;
          var Consumed: boolean);
  
negative.code:           end;
            //FCellCalendar.Text := '';
            FCellCalendar.Visible := False;
            SetReturnWay;
          end;
        KeyTab:
          begin
            //FCellCalendar.Text := '';
            FCellCalendar.Visible := False;
            SetTabWay(ShiftState);
          end;
        KeyEscape:
          begin
  