Mozgás a kép formájában futási időben a Delphi, a programozás Delphi - web,
Most írjuk onMouseDown kezelőjét a képet:
Ez a kódrészletet van jelölve, hogy melyik gombot nyomja meg a képen. Ha nem, akkor memorizálni a helyzet, és ha van, akkor nem lehet mozgatni. Most írjuk onMouseMove kezelőjét a képet:
Végül onmouseup kezelőjét képeinket lesz:
itt minden nagyon egyszerű. Ha a gomb elengedésekor a lépés a változó értéke hamis, úgy, hogy csak a következő kattintson a képre nem lehet mozgatni. Ez a módszer nagyon egyszerű, mind megérteni és megvalósítani. De ugyanez a helyettesítési algoritmus lehet végrehajtani egy kicsit szebb. Egyes alkatrészek, beleértve a képeket, van olyan hideg eljárással SetBounds (Bal, Fel, szélesség, magasság), amely megváltoztathatja egyszerre mind a négy paramétert. Így onMouseMove esemény lehet az alábbiak szerint változott:
De van egy másik nagyon érdekes módon: a képernyőn lehet mozgatni nem a kép, hanem csak a keretre, ha a felhasználó kiválaszt egy helyet egy képet, és engedje el a gombot - mozgatni. Ehhez szükségünk van egy globális változó: rec: TRect, amely tárolja a paramétereit a képet. Most kissé változik a eseménykezelőkkel a képet. Így mindenki általában a következőképpen néz ki:
Mivel DrawFocusRect dobozt rajzol Xor eljárás során a második hívás ez a funkció azonos paraméterekkel, a keret törlődik. Ez egy szép módszer, hogy adjunk egy csomó érdekes a programban. Így használja.