Easing ist ja schön. Aber dafür direkt eine ganze Komponente bzw. gefühlt 20 Units, ich weiß nicht.
stahlis Idee kann ich übrigens nicht umsetzen. Mathematisch wüsste ich nicht einmal wie (ja, ich bin ein Mathe-Trottel).
Habe das als totaler Mathe-Noob mal so gemacht.
Delphi-Quellcode:
iTargetWidth := 200;
iRest := 0;
repeat
iRest := iRest + (iTargetWidth - Panel1.Width) div 2;
Panel1.Width := iRest;
Sleep(25);
until Panel1.Width = iTargetWidth - 1;