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 Komponenten verschieben und MouseUP (https://www.delphipraxis.net/33354-komponenten-verschieben-und-mouseup.html)

LoL 5. Nov 2004 15:12


Komponenten verschieben und MouseUP
 
hi zusammen!

folgendes Problem:
ich hab hier im forum ne einfache möglichkeit gefunden um eine komponente zur laufzeit zu verschieben:
Delphi-Quellcode:
const sc_dragmove = $f012;
begin
  ReleaseCapture;
  sender.perform(WM_SysCommand, SC_DragMove, 0);
funktioniert einwandfrei nur wird jetzt bei mir das OnMouseUp-Ereignis nicht mehr ausgelöst! Woran kann das liegen?

LoL 8. Nov 2004 08:58

Re: Komponenten verschieben und MouseUP
 
kann mir irgendeiner helfen?

Khabarakh 24. Sep 2005 12:01

Re: Komponenten verschieben und MouseUP
 
Kann ihm + mir irgendeiner helfen?
Folgendes Problem: Ich möchte während des Verschiebens einen Vorgang unterbrechen, aber dazu muss ich natürlich wissen, wann das Verschieben beendet ist. Ich könnte einfach die Koordinaten vergleichen, aber gibt es vielleicht einen anderen, besseren Weg?

SirThornberry 24. Sep 2005 12:06

Re: Komponenten verschieben und MouseUP
 
das ganze kommt eben durch Release Capture und dieses SysCommand. Aber es dürfte ja nicht das problem sein das MouseUp manuell danach auszulösen.
Delphi-Quellcode:
ReleaseCapture;
sender.perform(WM_SysCommand, SC_DragMove, 0);
if Assigned(OnMouseUp) then
  OnMouseUp(Sender, Button, Shift, X, Y);

Khabarakh 24. Sep 2005 12:19

Re: Komponenten verschieben und MouseUP
 
:stupid: Lösungen können so einfach sein... Ich wäre nie darauf gekommen, dass Perform einfach während der Message-Bearbeitung wartet.
Vielen Dank!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:39 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-2025 by Thomas Breitkreuz