Entwickler-Ecke
Windows API - Mehrere Mausräder???
Andreas Pfau - So 20.04.03 22:34
Titel: Mehrere Mausräder???
Hallo,
ich habe zwar nur ein Mausrad, will aber trotzdem kompatibilität für Muse mit mehreren Wheels (2 Stück) anbieten. Daher: Wie frage ich das 2. Wheel ab? Mit WM_MouseWheel lässt sich nur eins abfragen.
t/f - So 20.04.03 22:40
Hi du!
WM_MouseWheel ist ein Synonym für 'ne Nummer.
Genau wie bei der Tastatur hat jede Taste und auch das Wheel 'ne Nummer für Delphi.
Wenn du also die Nummer des Zweiten Wheels 'rauskriegst, dann kannst du das Teil darüber ansprechen.
Woher du wissen sollst?
Versuch einfach mal im OnMouseDown-Ereignis, den Wert Button auf einem Label oder so auszugeben. Dann stehts vor dir aufm Formular ;)
(bei der Tastatur hab' ich so 'rausbekommen ... z.B. PfeilHoch=40 (bzw vk_up) aber w = 87, s=83 ...)
Ob du damit 'rauskriegst, wie sich das Wheel dreht, weiß ich nicht so genau.
greetz
//me
Andreas Pfau - Mo 21.04.03 11:39
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???
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!