![]() |
Panel proportional zu Mauszeiger bewegen
Hi,
ich habe vor, dass wenn man mit dem Mauszeiger auf ein Panel drückt und die Maus bewegt, dass dann das Panel proportional zum Mauszeiger bewegt wird. Ein Beispiel: Wenn ich den Masuzeiger um 5 Punkte nach links verschiebe soll sich das Panel auf um so viele Punkte nach links verschieben. Bis jetzt habe ich folgendes gemacht aber der Effekt ist nicht der gleiche, da es hier nur richtig funktioniert wenn man halt den Mauszeiger oben links in der Ecke des Panels hat und dann verschiebt. Wenn man zum Beispiel mitten in der Mitte des Panels drückt und verschiebt soll nicht gleich die obere linke Ecke des Panels zum Mauszeiger wanderen sondern das Panel soll sich jetzt halt proportional zum Mauszeiger wie schon beschrieben z.B. 5 nach links bewegen wenn das der Mauszeiger macht egal wo der auf dem Panel ist. Ich hoffe Ihr könnt mir helfen und versteht wie ich das meine.
Delphi-Quellcode:
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin if ssLeft in Shift then begin Panel1.Left := ScreenToClient(Mouse.CursorPos).x; Panel1.Top := ScreenToClient(Mouse.CursorPos).y; end; MFG Lars Wiltfang |
Re: Panel proportional zu Mauszeiger bewegen
Ist eigentlich ganz einfach:
Du merkst dir beim Drücken der Maustaste die Koordinaten des Cursors relativ zum Panel und ziehst sie dann nachher beim Bewegen einfach wieder ab. |
Re: Panel proportional zu Mauszeiger bewegen
Geht es nur um das Verschieben eines Panels zur Laufzeit? Wenn ich mich recht entsinne, geht das so:
Delphi-Quellcode:
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin if ssLeft in Shift then begin ReleaseCapture; Panel1.Perform(WM_SYSCOMMAND,$F012,0); end; end; |
Re: Panel proportional zu Mauszeiger bewegen
Danke DeddyH, funktioniert Super :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz