|
A mellékelt példaprogram megnyitása előtt a Slider.pas-ban lévő komponenst telepítenie kell a Delphi alá.
A komponens Items property-én keresztül vehetjük fel a képeket. Minden egyes eleménél a Bitmap property-n keresztül tölthetjük be a képet, míg a Mode property-nél határozhatjuk meg az adott kép mozgásának irányát és módját.
A komponens Interval property-e határozza meg ezredmásodpercben, hogy a képek milyen sebességgel mozogjanak.
A Step property-ben állíthatjuk be, hogy egy kép hány lépésben mozogjon, míg eltűnik.
Az animációt a Start eljárással indíthatjuk, a Stop-al állíthatjuk le. A Next eljárás hívása esetén a következő lépés fázist láthatjuk.
A megvalósításhoz egy belső FI nevű globális változó számlálja a lépéseket, amelyeket egy TTimer komponens ütemez. A kirajzolást a Paint eljárás végzi. Itt egy belső bitmap-ra előkészítjük a képet és a végén egy BitBlt függvénnyel megjelenítjük azt.
Az előkészítéshez két StretchBlt hívást használunk, mivel egy időben maximum két képnek a részlete látszódhat. A StretchBlt segítségével a megadott képeket akkorára torzítjuk, amekkora a komponens mérete, így eltérő méretű bitmap-ok megadása esetén is egyforma méretű képek jelennek meg az animáció során.
A képek megjelenési sorrendje az Items property-ben adott sorrend alapján történik. Az utolsó kép után ismét az első kerül sorra és a folyamat kezdődik újra.
A különböző animációs műveletek csupán abban különböznek egymástól, hogy a két kép egymáshoz képest milyen irányban és milyen módszerrel mozog.
|