FMX.Controls.TPopup.OnAniTimer

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

property OnAniTimer: TNotifyEvent read FOnAniTimer write SetOnAniTimer;

C++

__property System::Classes::TNotifyEvent OnAniTimer = {read=FOnAniTimer, write=SetOnAniTimer};

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
event public
FMX.Controls.pas
FMX.Controls.hpp
FMX.Controls TPopup


Beschreibung

Wird während der benutzerdefinierten Animationsausführung TCustomPopupForm immer wieder ausgeführt.

Das OnAniTimer-Ereignis wird immer wieder während einer AniDuration-Zeit ausgeführt, während eine benutzerdefinierte Animation ausgeführt wird, während das aktuelle TPopup-Popup-Fenster erscheint und geschlossen wird.

Schreiben Sie eine OnAniTimer-Ereignisbehandlungsroutine, um eine Animations-Funktionalität während des Erscheinens und Schließens des aktuellen Popup-Fensters bereitzustellen. AniDuration definiert die Animationsdauer in Sekunden.

Um ein TPopup-Fenster anzuzeigen, können Sie die Eigenschaft IsOpen auf True setzen oder die Popup-Methode aufrufen. Mit dem Rendern des TPopup-Fensters, ruft das übergeordnete Formular CreatePopupForm auf, um eine Instanz eines TCustomPopupForm-Popup-Formulars, das in der PopupForm-Eigenschaft gespeichert ist, zu erstellen. Beachten Sie, dass alle visuellen Komponenten, die sich im TPopup-Fenster befinden, in ContentControl, das im PopupForm-Popup-Formular erstellt wurde, enthalten sind.

Die OnAniTimer-Ereignisbehandlungsroutine hat den TNotifyEvent-Typ wie folgt deklariert:

 TNotifyEvent = procedure(Sender: TObject) of object;

Daher kann der Sender-Parameter im folgenden Beispiel in TCustomPopupForm konvertiert werden. In der folgenden Beispiel-Implementierungsanimation zum Erscheinen und Schließen des TPopup-Fensters sehen Sie, wie dies in der AniTimeProc-Ereignisbehandlungsroutine des OnAniTimer-Ereignisses verwendet wird:

type
  TForm1 = class(TForm)
    Button1: TButton;
    Popup1: TPopup;
    Button2: TButton;
    Rectangle1: TRectangle;
    procedure FormCreate(Sender: TObject);
  public
    T: TDateTime;
    procedure AniTimeProc(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

procedure TForm1.AniTimeProc(Sender: TObject);
begin
  Button1.Text := FloatToStr(RoundTo((Now - T) * 86400{SecPerDay}, -2));
  TCustomPopupForm(Sender).ContentControl.Opacity := TCustomPopupForm(Sender).AniPosition;
  TCustomPopupForm(Sender).Left := Self.Left + Round(100 * TCustomPopupForm(Sender).AniPosition);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  T := Now;
  Popup1.Popup;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Popup1.AniDuration := 4;
  Popup1.OnAniTimer := AniTimeProc;
end;

end.

Beachten Sie, dass OnAniTimer AniPosition und andere Eigenschaften von TCustomPopupForm verwenden kann.

Siehe auch