全局变量记录上次选中的 FRow, FCol;procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); begin if trim(stringgrid1.Cells[FCol,FRow])='' then begin CanSelect:=false; StringGrid1.Row :=FRow; StringGrid1.Col :=FCol; StringGrid1.SetFocus; end else begin FRow:=ARow; FCol:=ACol; end;end;
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
//..
PRow := FRow;
PCol := FCol;
FRow := ARow;
FCol := ACol;
end;----------------
沉沦中..........
form1.StringGrid1.Focused;
ARow: Integer; var CanSelect: Boolean);
begin
if trim(stringgrid1.Cells[FCol,FRow])='' then
begin
CanSelect:=false;
StringGrid1.Row :=FRow;
StringGrid1.Col :=FCol;
StringGrid1.SetFocus;
end
else
begin
FRow:=ARow;
FCol:=ACol;
end;end;