Tab как Enter в StringGrid



Данный код переводит ввод на другую колонку. При достижении конца колонок, ввод перемещается на следующую строку. При достижении самого конца сетки, управление перемещается в ее самое начало - естественно, вы можете изменить это поведение, и передавать управление в этом случае другому элементу управления.


procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
    with StringGrid1 do
      if Col < ColCount - 1 then {следующая колонка!}
        Col := Col + 1
      else if Row < RowCount - 1 then
      begin {следующая строка!}
        Row := Row + 1;
        Col := 1;
      end
      else
      begin {Конец сетки! - Снова перемещаемся наверх!}
        Row := 1;
        Col := 1;
        {или вы можете передать управление другому элементу управления}
      end;
end;


Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте