Einzelnen Beitrag anzeigen

Glados
(Gast)

n/a Beiträge
 
#47

AW: Panel geschmeidig ein- und ausblenden?

  Alt 21. Sep 2017, 15:31
Bei relativ kurzen Animationen könnte man also Control.Update nehmen? Es handelt sich hier bei mit nur um rund 300ms.

Inwieweit ist das hier denn OK? Mit TTask und TThread.Synchronize.
So kann ich zwei Buttons schnell hintereinander klicken und animieren.
Delphi-Quellcode:
 TTask.Run(
   procedure
  begin
   while (D <= TUtilsEasingAnimations.AnimateDuration) do
    begin
     TThread.Synchronize(nil,
       procedure
      begin
       setControlDimension(TUtilsEasingCore.EaseOutQuint(D, iStart, iEnd - iStart, TUtilsEasingAnimations.AnimateDuration), Control, aAnimationDirection, aAnimationType);
       Application.ProcessMessages;
       // Control.Parent.Update;
       // Control.Update; // hinterlässt "Schlieren". Außer ich update auch das Control.Parent (s.o)
      end);
     D := GetTickCount - C;
    end;
  end);
Zitat:
Das Stichwort FMX ist gefallen,
Die Starter hat doch kein FMX soweit ich weiß.

Geändert von Glados (21. Sep 2017 um 15:51 Uhr)
  Mit Zitat antworten Zitat