type
TMover = class
private
FOnChange: TNotifyEvent;
procedure OnAnimationFinish(Sender: TObject);
procedure OnAnimationProcess(Sender: TObject);
property OnChange: TNotifyEvent read FOnChange write FOnChange;
end;
type
TMyMessageBoard = class
private
procedure OnSingleAnimationFinish(Sender: TObject);
public
constructor Create();
destructor Destroy; override;
procedure OpenAndClose(aParent, aTargetA, aTargetB: TFmxObject);
end;
procedure TMover.OnAnimationFinish(Sender: TObject);
begin
if Assigned( FOnChange) then FOnChange(Self);
Self.Free;
end;
procedure TMyMessageBoard.OnSingleAnimationFinish(Sender: TObject);
begin
Form5.Caption := 'zzz';
end;
procedure TMyMessageBoard.OpenAndClose(aParent: TFmxObject;
aTargetA: TFmxObject;
aTargetB: TFmxObject);
var
tmpIn: TMover;
begin
tmpIn := TMove_SwellClose.Create(aParent, aTargetA);
tmpIn.AdjustSize;
tmpIn.Animate(0.5, 2);
tmpIn.OnChange := OnSingleAnimationFinish;
end;