当然可以
直接定位cells[3,4];
StringGrid1.Options := StringGrid1.Options+[goEditing] ;
StringGrid1.Col := 3 ;
StringGrid1.Row := 4 ;
按回车跳转焦点的控制在
procedure TF_Bbxx_Lr.StringGrid1KeyPress(Sender: TObject;
var Key: Char);
var
TempStringGrid : TStringGrid ;
begin
TempStringGrid := StringGrid1 ;
if Trim(TempStringGrid.Cells[TempStringGrid.Col,TempStringGrid.Row]) = '' then
begin
Exit ;
end ;
if ((Key=#13) or (key=#10)) then
begin
With TempStringGriddo
begin
//设置小数点位数
StringGridQuxiaoshu(TempStringGrid.Col,TempStringGrid.Row,TempStringGrid);
Case TempStringGrid.Col of
5 :
begin
TempStringGrid.Col := TempStringGrid.Col+2 ;
end;
3,4,7,8 :
begin
TempStringGrid.Col := TempStringGrid.Col+1 ;
end;
9 :
begin
TempStringGrid.Col := TempStringGrid.Col+6 ;
end;
15 :
if TempStringGrid.Row<6 then
begin
TempStringGrid.Col := 3 ;
TempStringGrid.Row := TempStringGrid.Row+1 ;
End ;
End ;
End ;
Key:=#0 ;
End ;
if not( key in ['0'..'9','.','-',#13,#8] )
then
begin
key := #0;
end;
end;