Версия для печати

Переход на другую ячейку StringGrid

Оцените материал
(1 Голосовать)

Переход на другую ячейку StringGrid

По нажатию на enter переходит на след ячейку по строке:

procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
  #8, '0'..'9' , ',' : ;
  #13:
  {проверяем, это последний столбец?...}
if  StringGrid1.Col < StringGrid1.ColCount-1 then
      begin
        StringGrid1.Col:=StringGrid1.Col+1; {если нет, то смещение вправо}
      end
       else  {если это последний столбец, то...}
          begin  {проверяем, это последняя строка?...}
             if  StringGrid1.Row < StringGrid1.RowCount-1 then
              begin
                 StringGrid1.Row:=StringGrid1.Row+1; {если нет, то смещение вниз}
                 StringGrid1.Col:=0;             {и перевод указателя в 1-ю колонку}
              end
            else {а если это самая последняя ячейка, то...}
              begin
                 StringGrid1.Col:=0;  {ставим указатель в 1-ю ячейку}
                 StringGrid1.Row:=0;
              end;
          end;  else key:=Chr(0); //запрет символов
  end;
  end;