Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: Richtiges einblenden von Formularen

  Alt 24. Feb 2010, 07:57
So kleine Zeiteinheiten kannst'e im Grunde vergessen.
Die Zeitauflösung seitens Windows liegt für Sleep/Delay/GetTickCount/Timer bei aktuell durchschnittlichen Intervallen von je 15-16 ms.

Fazit: Bei diesen kurzen Intervallen für deine Pausen können diese nichtmal halbwegs richtig eingehalten werden.

Hier kommt es also besser, wenn die Schleife für eine bestimmte Zeit läuft und nicht eine bestimmte Anzahl und der "Fortschritt" des Einblenden über die aktuelle Zeit errechnet wird.

etwa so
Delphi-Quellcode:
C := GetTickCount;
while GetTickCount - C <= 765 do begin
  AlphaBlendValue := Min((GetTickCount - C) div 3 , 255);
  Application.ProcessMessages;
end;
AlphaBlendValue := 255;
$2B or not $2B
  Mit Zitat antworten Zitat