Einzelnen Beitrag anzeigen

Benutzerbild von pustekuchen
pustekuchen

Registriert seit: 27. Aug 2010
265 Beiträge
 
Delphi 11 Alexandria
 
#1

OnMouseWheelUp/Down nur einmal

  Alt 19. Apr 2012, 08:33
Guten Tag,

ich habe eine Form mit dem MouseWheelUp/Down-Event. Nun ist es so, das wenn man mit der Maus mehrmals scrollt (Nicht die Windows Rad Option Vertikaler Bildlauf!) das, die Event Prozedur ausgeführt wird und dann nochmal das Event ausgelöst wird, da man ja auch mehrmals gescrollt hat.

Ich möchte es aber so haben, das während er in der OnMouseWheelUp/Down Prozedur ist, keine weiteren OnMouseWheelUp/Down Events auslöst.

Ich habe mir gedacht einfach das OnMouseWheelUp/Down der Form auf nil zu setzen und am ende wieder zuweisen. Jedoch klappt es nicht und es werden trotzdem nacheinander die Events ausgelöst.

FormMouseWheelDown:
Delphi-Quellcode:
  Handled := false;
  FPaintCtrlParent.OnMouseWheelDown := nil;
  FPaintCtrlParent.OnMouseWheelUp := nil;
  // Hier etwas tun was etwas länger dauert.
  FPaintCtrlParent.OnMouseWheelDown := FormMouseWheelDown;
  FPaintCtrlParent.OnMouseWheelUp := FormMouseWheelUp;
  Handled := true;
Hat jemand eventuell eine Lösung des Problems und kennt die Ursache?
Delphi programming is awesome.
  Mit Zitat antworten Zitat