Переход на другую ячейку 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;
|