FMX.Forms.TCustomPopupForm.AniPosition

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

property AniPosition: Single read FAniPosition;

C++

__property float AniPosition = {read=FAniPosition};

Propriétés

Type Visibilité  Source Unité  Parent
property public
FMX.Forms.pas
FMX.Forms.hpp
FMX.Forms TCustomPopupForm


Description

Propriété en lecture seule renvoyant des valeurs entre 0 et 1. Vous pouvez utiliser AniPosition dans un gestionnaire d'événement OnAniTimer.

La valeur de AniPosition passe de 0 à 1 (à l'ouverture de la fiche popup en cours) et de 1 à 0 (à sa fermeture) lors de la durée AniDuration de l'exécution d'une animation personnalisée.

AniPosition peut être utilisé comme paramètre pour les valeurs intermédiaires des propriétés animées dans un gestionnaire d'événement OnAniTimer. Par exemple, vous pouvez utiliser AniPosition pour calculer une position intermédiaire ou une opacité intermédiaire lors d'une animation personnalisée. AniPosition = 0 correspond au démarrage et AniPosition = 1 à l'arrêt de l'animation.

Ainsi, dans l'exemple ci-dessous, la largeur de la fiche passe de 0 (AniPosition = 0) à 200 (AniPosition = 1) lors de l'affichage de la fiche popup et vice-versa à la fermeture de la fiche :

...
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;
...

La ligne commentée illustre comment utiliser AniPosition pour animer la transparence d'une fiche.

Voir aussi la discussion dans TPopup.OnAniTimer.

Voir aussi