Einzelnen Beitrag anzeigen

sintronic86

Registriert seit: 7. Dez 2009
Ort: Barsinghausen
90 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Firemonkey und OnModalBegin/OnModalEnd

  Alt 5. Mai 2017, 11:29
@Der schöne Günther:
Tatsächlich mache ich es ähnlich, wie bei deinem Vorschlag.
Ich habe einen Nachfahren von TForm gemacht (heißt bei mir TfDEFAULTForm) von der ich alle Fenster des Programms ableite. Dort erstellen ich im OnCreate ein TRectangle, dass folgenden constructor hat:
Delphi-Quellcode:
public
  constructor Create(ASrcForm: TForm);
ASrcForm ist dann Self, also das TfDEFAULTForm.

und im constructor des <RECTANGLE> werden folgende Eigenschaften gesetzt:
Delphi-Quellcode:
SrcForm := ASrcForm;
Fill.Color := TAlphaColorRec.Black;
Stroke.Kind := TBrushKind.None;
Opacity := 0;
Align := TAlignLayout.Contents;
Parent := nil;
Einblenden tue ich das dann folgendermaßen:
Delphi-Quellcode:
<RECTANGLE>.Parent := SrcForm;
TAnimator.AnimateFloat(<RECTANGLE>, 'Opacity', 0.4, ADuration);
Und ausblenden dann folgendermaßen:
Delphi-Quellcode:
TAnimator.AnimateFloatWait(<RECTANGLE>, 'Opacity', 0, ADuration);
<RECTANGLE>.Parent := nil;
D.h. die Animationen von FMX nutze ich da voll aus!

@Harry Stahl:
Super! Das ist genau das, was ich gesucht hab. Schade zwar, dass das nur für den "Show"-Moment funktioniert und nicht für den "Hide"-Moment, aber ich werde es mal dem OnActivate versuchen.
Zählt denn der von dir beschriebene Aufruf jeweils NUR für die Form, in dessen OnCreate ich ihn ausführe? Dann könnte ich das ja einfach in meine TfDEFAULTForm einbauen.
Björn
  Mit Zitat antworten Zitat