procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = ord(#13) then
begin
{ проверяем, это последний столбец?... }
if Form1.StringGrid1.Col < Form1.StringGrid1.ColCount - 1 then
begin
Form1.StringGrid1.Col := Form1.StringGrid1.Col + 1;
{ если нет, то смещение вправо }
end
else { если это последний столбец, то... }
begin { проверяем, это последняя строка?... }
if Form1.StringGrid1.Row < Form1.StringGrid1.RowCount - 1 then
begin
Form1.StringGrid1.Row := Form1.StringGrid1.Row + 1;
{ если нет, то смещение вниз }
Form1.StringGrid1.Col := 0; { и перевод указателя в 1-ю колонку }
end
else { а если это самая последняя ячейка, то... }
begin
Form1.StringGrid1.Col := 0; { ставим указатель в 1-ю ячейку }
Form1.StringGrid1.Row := 0;
end;
end;
end;
end;