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 MouseDown ohne MouseUp bei Form.ShowModal (https://www.delphipraxis.net/41122-mousedown-ohne-mouseup-bei-form-showmodal.html)

Flogo 26. Feb 2005 13:25


MouseDown ohne MouseUp bei Form.ShowModal
 
Hi :hi:

Ich verschiebe in meinem Programm Punkte auf einem Image, indem ich im MouseDown die Boolsche Variable "Verschieben" auf true setzte und im MouseUp wieder auf false. Im MouseMove wird dann der Punkt verschoben, wenn (Verschieben = true) ist.
Das klappt soweit auch ganz gut. Nur habe ich jetzt noch einen Doppelklick auf die Punkte eingeführt, bei dem in einer anderen Form Details angezeigt werden. Diese wird per showmodal aufgerufen.
Leider passiert jetzt folgendes:
Doppelklick auf den Punkt -> Formular wird aufgerufen
Klick auf OK im Formular -> Formular verschwindet ->
MouseDownEvent wird ausgelöst -> Verschieben := true;
-> Punkt wird verschoben

Ich hab mal ein bißchen rumprobiert und gesehen, dass bei einem normalen Doppelklick die Reihenfolge so aussieht:

MouseDown
Click
MouseUp
DblClick
MouseDown
MouseUp

Dieses letzte MouseUp kommt bei mir aber nicht, wenn ich die Form per showmodal öffne.

Dani 26. Feb 2005 13:55

Re: MouseDown ohne MouseUp bei Form.ShowModal
 
Hi, du kannst das Problem auch ohne eine globale Variable lösen, indem du im OnMouseMove folgendes abfragst:

Delphi-Quellcode:
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 If ssLeft {linke Maustaste gedrückt?} in Shift then {verschieben...}
end;

Flogo 26. Feb 2005 14:08

Re: MouseDown ohne MouseUp bei Form.ShowModal
 
Vielen Dank! :thumb: Das Problem konnte ich damit lösen. (drei Wörter im Quelltext, manchmal kann es so einfach sein)
Trotzdem wundert mich dieses Verhalten und ich würde gerne wissen wie es dazu kommt ??


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