Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi TImage bei mausklick zu aktueller Mausposition bewegen? (https://www.delphipraxis.net/98161-timage-bei-mausklick-zu-aktueller-mausposition-bewegen.html)

Adrian112 22. Aug 2007 13:47


TImage bei mausklick zu aktueller Mausposition bewegen?
 
Hallo,

hat einer von euch ne Idee wie ich ein TImage auf Mausklick an die entsprechende 'Clickpositionn bewegen könnte? Das ganze soll dann aber z.b. wenn ich schräg über dem Image Clicke im richtigen Winkel direkt langsam zur Clickposition bewegen. Wie könnte ich das hinkriegen?

s-off 22. Aug 2007 13:54

Re: TImage bei mausklick zu aktueller Mausposition bewegen?
 
Zitat:

Zitat von Adrian112
Das ganze soll dann aber z.b. wenn ich schräg über dem Image Clicke im richtigen Winkel direkt langsam zur Clickposition bewegen.

Wie bitte?

Adrian112 22. Aug 2007 13:57

Re: TImage bei mausklick zu aktueller Mausposition bewegen?
 
Ich habe das so gemeint:
wenn das TImage z.B. im Zentrum der Form liegt, und ich in die linke obere Ecke klicke, dann soll sich das Image langsam dort hin bewegen, also nicht im Zentrum verschwinnden und oben wieder auftauchen. Ich hoffe ich habe jetzt verständlicher geschrieben.

s-off 22. Aug 2007 14:27

Re: TImage bei mausklick zu aktueller Mausposition bewegen?
 
Recht unelegant, aber funktioniert und ist vielleicht ein Ansatzpunkt:

Delphi-Quellcode:
Procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Var
   i, iMax: integer;
   r: Real;
Begin
   iMax := Max(abs(Image1.Left - X), abs(Image1.Top - Y));
   For i := 0 To iMax Do Begin
      r := i / iMax;
      Image1.Left := Image1.Left + Round((X - Image1.Left) * r);
      Image1.Top := Image1.Top + Round((Y - Image1.Top) * r);
      Sleep(25);
      Application.ProcessMessages;
   End;
End;
Edit:
Die Max-Funktion benötigt die Math-Unit!

Adrian112 22. Aug 2007 14:29

Re: TImage bei mausklick zu aktueller Mausposition bewegen?
 
Danke, ich werds Testen, hab aber grad kein Delphi zur Hand.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz