Einfach in der Ereignisroutine der Action abfragen, ob eine bestimmte Komponente den Focus hat und dementsprechend reagieren.
Nehmen wir an, wir haben zwei Actions für die Änderung der Schriftgröße. Bei der Action für die Schriftvergrößerung ist die Eigenschaft Tag auf 1 gesetzt und bei der Action für die Schriftverkleinerung ist die Eigenschaft Tag auf -1 gesetzt.
Delphi-Quellcode:
procedure TForm1.acSchritgroesseExecute(Sender: TObject);
begin
if not Sender is TAction then Exit;
if Memo1.Focused then begin
Memo1.Font.Size := Memo1.Font.Size + TAction(Sender).Tag;
end else
if Memo2.Focused then begin
Memo2.Font.Size := Memo2.Font.Size + TAction(Sender).Tag;
end else
if Memo3.Focused then begin
Memo3.Font.Size := Memo3.Font.Size + TAction(Sender).Tag;
end else begin
Self.Font.Size := Self.Font.Size + TAction(Sender).Tag;
end;
end;