Hejka,
Mam jakiś obiekt - dajmy na to że Image - i chciałbym aby po kliknięciu i przytrzymaniu go przyciskiem myszki ten przesuwał się za kursorem do momentu upuszczenia w dowolnym miejscu. Jak mogę to zrobić w najprostszy sposób, ale tak aby nie przekombinować za bardzo?
Oczywiście wywołałem zdarzenie OnMouseMove, po czym próbowałem zrobić coś takiego:
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssLeft in Shift Then Begin
Image1.Top := X;
Image1.Left := Y;
End;
end;
Ale efekt jest wręcz odrzucający, bo każde przesunięcie myszki o 1px nie resetuje wartości X i Y tylko sumuje je, a to w połączeniu z tym kodem sprawia, że po kilku px obrazek wyjeżdża poza okno.
Macie jakieś pomysły jak by to zrobić? Nie ukrywam, że największą satysfakcję przyniosłoby mi rozwiązanie tego z użyciem tylko jednego eventu. Im więcej kodu tym gorzej. :)