Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Komponente verschieben (https://www.delphipraxis.net/47251-komponente-verschieben.html)

faux 8. Jun 2005 12:03


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?

barf00s 8. Jun 2005 12:06

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;

faux 8. Jun 2005 12:08

Re: Komponente verschieben
 
Danke! Genau das wollte ich!

Das das so einfach geht, habe ich nicht gedacht ;)

faux 8. Jun 2005 12:12

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?

joachimd 8. Jun 2005 12:13

Re: Komponente verschieben
 
Zitat:

Zitat von faux
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?

Delphi Central

Habe noch etwas gefunden. Suche mal in Google nach TStretchHandle.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:43 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