Man setzt beim Ändern des jeweiligen Edit eine globale Variable, welche anzeigt welches Edit als letztes bearbeitet wurde (im OnChange) und somit die Steuerung übernimmt. Ist zwar keine schöne Methode aber würde funktionieren.
Delphi-Quellcode:
var
sLastEdit : string;
procedure EditChange(Sender: TObject);
begin
sLastEdit := TEdit(Sender).Name;
end;
procedure TTools.KopierenClick(Sender: TObject);
begin
if sLastEdit = 'Edit1' then
begin
end else if sLastEdit = 'Edit2' then
begin
end;
end;
Das ist nicht schön, nein, aber so wäre es doch in Ordnung:
Delphi-Quellcode:
TTools = class(TForm)
...
private
FLastEdit: TEdit;
end;
procedure TTools.EditChange(Sender: TObject);
begin
FLastEdit := Sender as TEdit;
end;
procedure TTools.KopierenClick(Sender: TObject);
begin
if Assigned(FLastEdit) then
FLastEdit.text := FLastEdit.text + '1';
end;