Hallo Welt,
ich habe eine alte Anwendung etwas aufgefrischt und jetzt folgendes
Verhalten:
Beim (schnelleren) Bewegen des Mausrades über dem
MDI-Child-Fenster der Anwendung wird das Mausrad-Event an eine ggf darunter liegende andere Anwendung (z.B. Commander oder Delphi-Editor) weitergeleitet (unter Windows10).
NOTWENDIGE RANDBEDINGUNGEN (reduzierte Source anliegend):
- OnMouseWheel() für
MDI-Child definiert
- Darin wird in eine Methode der
MDI-Form gesprungen
- Deren Inhalt ist mit Lock- und UnlockDrawing() umgeben
- ... und läuft relativ lange, hier durch Sleep() simuliert
VERMUTUNG:
Da das Problem beim langsamen (eine Rasterstufe) Drehen am
Rad nicht auftritt vermute ich mal, dass
- das erste OnMouseWheel-Event normal ankommt und verarbeitet wird
- das zweite (auf Windows-Ebene) kommt und auf die noch beschäftigte Bearbeitung trifft
- ... und das Windows deshalb die Anwendung als nicht existent ansieht und das Event an die darunterliegende sendet.
Ist nur eine gewagte Theorie, aber damit wäre es halt kein Delphi-Problem.
In Delphi12 ist am
MDI ja geändert worden, kann jemand das da mal testen?