![]() |
Komponente verschieben
Hallo!
Ich will, dass eine Komponente (zB Panel) vom benutzer beliebig verschoben werden kann, durch einfach ziehen mit der Maus. Also wie ein Icon am Desktop von Windows oder Linux. Ich bin mir beinahe 100% sicher, dass es das schon gibt, nur unter was such ich denn da? Danke schon mal... EDIT: Gibts da eventuell eine JEDI-Kompinente? |
Re: Komponente verschieben
im Panel.OnMouseMove
Delphi-Quellcode:
procedure Dings.MouseMove();
begin if Shift = [ssLeft] then begin // wenn man mit der linkenmaustaste "dragged" ... und die abfrage der "maustasten" ist unbedingt erforderlich, da es sonst probleme mit win9x gibt ReleaseCapture; SendMessage(DeinPanel.Handle, WM_NCLBUTTONDOWN, 2, 0); end; end; |
Re: Komponente verschieben
Danke! Genau das wollte ich!
Das das so einfach geht, habe ich nicht gedacht ;) |
Re: Komponente verschieben
Eine andere Frage, die aber hier dazu passt:
Gibts ein Ereignis, dass wärend des Verschiebevorgangs eintritt, also nach jedem pixel. Ich will die Caption des labels zB auf die Koordinaten stellen. Wo schreib ich "Panel1.Caption := IntToStr(Panel1.Left)+' - '+IntToStr(Panel1.Top);" jetzt hin? |
Re: Komponente verschieben
Zitat:
![]() Habe noch etwas gefunden. Suche mal in Google nach TStretchHandle. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 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