Juhu, Danke für den Tipp, jetzt hab' ich's!
Ich habe oben geschreiben, dass ich nur ein Wheel habe... da fiel mir ein, main Vaddi, der hat ja irgendwo eine 2-Wheel-Maus rumfahren. Die hab' ich installiert. Dann habe ich WM_MouseWheel abgefangen... Ergebnis: Der Flag-Parameter enthält das 64er-Bit, wenn's sich's um's 2. Wheel handelt. Für alle, die das anchmachen wollen:
Quelltext
1: 2: 3: 4: 5: 6: 7:
| If (Msg.message = WM_MouseWheel) Then begin If (LoWord(Msg.WParam) And 64 = 0) Then WheelY := WheelY + ShortInt(HiWord(Msg.wParam)) div 120 Else WheelX := WheelX + ShortInt(HiWord(Msg.wParam)) div 120; Label1.Caption := Format('X=%d Y=%d', [WheelX, WheelY]); end; |
Dieser Code muss in OnMessage (TApplicationEvents). Es scheint nur hier zu klappen, wenn man eine Prozedur schreibt, die nur WM_MouseWheel abfängt, funzt's nicht, warum auch immer. AHt jemand eine Ahnung, warum das so ist???