FMX.Forms.TCustomPopupForm.AniPosition
Delphi
property AniPosition: Single read FAniPosition;
C++
__property float AniPosition = {read=FAniPosition};
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
property | public | FMX.Forms.pas FMX.Forms.hpp |
FMX.Forms | TCustomPopupForm |
Beschreibung
Schreibgeschützte Eigenschaft, die Werte zwischen 0
und 1
zurückgibt. Sie können AniPosition in einer OnAniTimer-Ereignisbehandlungsroutine verwenden.
Der Wert AniPosition ändert sich während der AniDuration-Zeit einer benutzerdefinierten Animationsausführung von 0 auf 1 (während des Öffnens des aktuellen Popup-Formulars) bzw. von 1 auf 0 (beim Schließen).
AniPosition kann als Parameter in Zwischenwerten animierter Eigenschaften in einer OnAniTimer-Ereignisbehandlungsroutine verwendet werden. Sie können z. B. mit AniPosition die Zwischenposition oder Zwischenopazität während der benutzerdefinierten Animation berechnen. Wenn AniPosition = 0
dem Startmoment, und AniPosition = 1
der Beendigung einer Öffnungsanimation entspricht.
Das Beispiel unter dem Formular Width (als Komponente des Formular Size) ändert sich z. B. von 0
(wenn AniPosition = 0
) auf 200
(wenn AniPosition = 1
), während des Erscheinens des Popup-Formulars und umgekehrt beim Schließen des Formulars:
...
procedure TForm1.AniTimerProc(Sender: TObject);
begin
if Sender is TCustomPopupForm then
begin
// You can use AniPosition whether to define Opacity or Size
// TCustomPopupForm(Sender).ContentControl.Opacity := TCustomPopupForm(Sender).AniPosition;
TCustomPopupForm(Sender).Size := TSize.Create(Round(200 * TCustomPopupForm(Sender).AniPosition), 100);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
R: TRectangle;
begin
R := TRectangle.Create(Self);
F := TCustomPopupForm.Create(Self);
F.AniDuration := 0.5;
F.ContentControl := R;
F.OnAniTimer := AniTimerProc;
F.PlacementTarget := Button1;
F.Show;
end;
...
Die genannte Zeile zeigt, wie AniPosition verwendet werden muss, um eine Formulartransparenz zu animieren.
Siehe auch TPopup.OnAniTimer.