var
SelRow,SelCol:Integer;
procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
begin
SelRow := ARow;
SelCol:=ACol;
end;
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
if (SelRow<>ARow) or (SelCol<>ACol) then
begin
if StringGrid1.Cells[SelCol,SelRow]<>'a' then
showmessage('not valid!');
end;
end;