Moin Moin ...
Der Effekt ergibt sich wenn man einen Zähler, sagen wir von 32 runter zählt und dadurch die ScrollBy-Distanz immer kleiner wird. Gleichzeit läuft ein Sleep() oder Delay() umgekehrt hoch. Also etwa so:
Delphi-Quellcode:
for i := 32 downto 1 do begin // runter zählen
if GetAsyncKeyState(VK_LBUTTON) < 0 then Break; // linke Maustaste unterbricht sofort
Inc(counter, i * d); // d=Scroll-Richtung (-1 oder 1)
ScrollBy(0, StartPos - counter); Update; // Scrollen und neu zeichnen
Delay((f - i) * 3); // Delay (Sleep geht auch)
end;
Einfach mal mit den Parametern rumspielen ... Apple kocht auch nur mit Wasser
(obwohl in deren iPhone-Routinen schon eine Menge 'Gehirnschmalz' drinne steckt ...) Aber was solls, mit ein bischen Augen zukneifen sieht meine Routine schon ziemlich ähnlich aus. Gut genug, wie ich finde.
Effektreich, grüßt ...