![]() |
Mouse Wheel Down / Up : 2 Impulse ?
Hallo,
ich möchte eine Anwendung (genauer ein Menü) wahlweise auch per Mouse WheelDown/WheelUp steuern. Soweit so gut ... Ich bekomme je Radbewegung von einer Raststellung bis zur nächsten 2 Impulse (scheinbar wird je die ansteigende und abfallende Flanke verarbeitet). Hierzu meine Frage : ist dies bei jeder Mouse so ? ... oder hab' ich einen Exoten ? :gruebel: Es ist zwar kein Problem die Impuls zu zählen und bei jedem zweiten das entsprechende Ereignis auszulösen ... allerdings nur solange, wie die Antwort der Mouse immer 2 Impulse beträgt. In Ermagelung einer Ersatzmouse hab' ich wenig Lust meine zu schlachten um mir die Elektronik anzuschauen und hoffe daher auf entspr. Hilfe. Danke schon mal im vorraus. |
Re: Mouse Wheel Down / Up : 2 Impulse ?
Normalerweise empfängt man doch die
![]() Du bekommst die Richtung und die Anzahl der Schritte im Parameter wParam. Allerdings hat ein Schritt 120 Einheiten (WHEEL_DELTA). Offensichtlich wollte MS sich für die Zukunft offenhalten, dass es auch Mäuse mit höherer Auflösung geben könnte. Für dich als Programmierer spielen die Internas der Maus keine Rolle. |
Re: Mouse Wheel Down / Up : 2 Impulse ?
Hi Markus,
es kommt darauf an, wo und wie du messages verarbeitest. Manchmal tritt ein solches Verhalten dadurch auf, dass eine Nachricht nicht als verarbeitet gekennzeichnet wurde und dann dem default message handler in die Hände fällt, der damit noch einmal Schindluder treibt. Wie sx2008 schon sagte, sollte man lieber die ![]() Wenn du mal was anderes mit dem Mausrad machst, das rechenintensiver ist, solltest du die messages akkumulieren ( du registrierst dir einen Timer, den du nach einmaligem Auftreten oder, wenn er noch gesetzt sein sollte, schon beim nächsten Auftreten der Mausradmessage gelöscht wird ) - das wird in der VCL wohl auch schon so gemacht, zumindest zeigt sie dieses Verhalten, nur nicht durchgehendm was mir nahelegt, dass die Akkumulation in der wndproc des Hauptformulars erfolgt. Ich könnte mich da auch irren und es ist anders gelöst, aber ich habe mit der Vorgehensweise gute Erfahrungen gemacht. Zu deinem Problem nochmal: du kannst auch mal bei mousewheel, wheeldown und wheelup Töne ausgeben oder in eine Memo ausgeben, dann siehst du, welche events wie oft auftauchen. |
Re: Mouse Wheel Down / Up : 2 Impulse ?
Hallo, vielen Dank erst mal für die Antworten.
Hab' irgendwo noch 'nen Mouse-Hook rumliegen - werd' mir damit mal die WM-Mouse-Botschaften ausgeben lassen (und zählen). |
Re: Mouse Wheel Down / Up : 2 Impulse ?
Hi,
![]() hier gibts ne dll mit Delphi source projekt, mit dem wird Maus und Tastatur und noch mehr gehookt, ziemlich cool funktioniert wunderbar, damit kann man auch die Codecs von MultimediaTasten auf Tastaturen etc rauskriegen, nur so als Tip. Gruß Tom |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz