好象没有现成的方法!
得画
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if KEY = #13 then
begin
//StringGrid1.CellRect(StringGrid1.Col+1,StringGrid1.Row)画;
end;
end;
下面是我以前写的程序中的一段,你看看吧
//lineBxinfo为一stringGrid
if (key=#13) then
begin//回车
if ((lineBxInfo.col<>0) and (lineBxinfo.row<>0)) then
with lineBxinfo do
begin//with
cells[col,row]:=EdBxtype.text;//对单元格赋值,edBxtype为一Edit
if (row<(rowcount-1)) then
row:=row+1;
EdBxtype.setfocus;
先把Form的KeyPreView设置为true,然后再
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
if not(ActiveControl is TStringGrid)then
begin
key:=#0;
Perform(WM_NEXTDLGCTL,0,0);
end
else
if (ActiveControl is TStringGrid)then
begin
with TStringGrid(ActiveControl) do
if Col<ColCount-1 then
col:=Col+1
else if Row<RowCount-1 then
begin
Col:=1;
Row:=Row+1;
end;
end;
end;
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key= #13 then begin
if stringGrid1.col<stringGrid1.ColCount-1 then
stringGrid1.col := stringGrid1.col+1
else
begin
if stringGrid1.Row< stringGrid1.RowCount-1 then
stringGrid1.Row:=stringGrid1.Row+1
else
stringGrid1.Row:=1;
stringGrid1.col := 1
end;
end;
end;