Сдвиг указателя в StringGrid на следующую ячейку

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

code: #delphi
  1. procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;
  2.   Shift: TShiftState);
  3. begin
  4. if key = ord(#13) then
  5.   begin
  6.   {проверяем, это последний столбец?...}
  7. if  Form1.StringGrid1.Col < Form1.StringGrid1.ColCount-1 then
  8.       begin
  9.         Form1.StringGrid1.Col:=Form1.StringGrid1.Col+1; {если нет, то смещение вправо}
  10.       end
  11.        else  {если это последний столбец, то...}
  12.           begin  {проверяем, это последняя строка?...}
  13.              if  Form1.StringGrid1.Row < Form1.StringGrid1.RowCount-1 then
  14.               begin
  15.                  Form1.StringGrid1.Row:=Form1.StringGrid1.Row+1; {если нет, то смещение вниз}
  16.                  Form1.StringGrid1.Col:=0;             {и перевод указателя в 1-ю колонку}
  17.               end
  18.             else {а если это самая последняя ячейка, то...}
  19.               begin
  20.                  Form1.StringGrid1.Col:=0;  {ставим указатель в 1-ю ячейку}
  21.                  Form1.StringGrid1.Row:=0;
  22.               end;
  23.           end;
  24.   end;
  25. end;
Поделиться:

Похожие статьи: