Einzelnen Beitrag anzeigen

Schokohase

Registriert seit: 17. Apr 2018
674 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: Modaler Doppelklick gibt Event an Ursprungsfenster weiter

  Alt 11. Sep 2018, 16:46
Der Grund liegt daran, dass ein DoubleClick beim MouseDown erfolgt. Der TitleClick aber beim MouseUp.

Und da erst MouseDown und dann MouseUp, erfolgt erst der Aufruf von DoubleClick, dann das Schließen des Fensters, und dann der MouseUp der dann von der Titel-Zeile behandelt wird.

Lösen kann man das durch einen Timer, der das Setzen von ModalResult entsprechend verzögert (100ms sind mehr als ausreichend und nicht spürbar).

Hier mal ein Ablauf der relevanten Events die bei einem DblClick passieren
  1. MouseDown
  2. OnIdle
  3. Click
  4. MouseUp
  5. OnIdle
  6. DblClick <= Schließen der Form
  7. MouseDown
  8. OnIdle
  9. MouseUp
  10. OnIdle

Geändert von Schokohase (11. Sep 2018 um 17:06 Uhr)
  Mit Zitat antworten Zitat