Setze die Ereignisprozedur vorher auf nil und nachher weist du ihr wieder die OnChange-Prozedur zu:
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
ShowMessage(Edit1.Text);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.OnChange := nil;
Edit1.Text := 'Hänschen Klein';
Edit1.OnChange := Edit1Change;
end;
OnChange wird nur ausgelöst, wenn man direkt etwas in das Edit eingibt. Wird Text über die Schaltfläch eingefügt, wird OnChange nicht ausgelöst.