AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) tagMSLLHOOKSTRUCT > mouseData (immer 120?)
Thema durchsuchen
Ansicht
Themen-Optionen

tagMSLLHOOKSTRUCT > mouseData (immer 120?)

Ein Thema von MicMic · begonnen am 26. Sep 2019 · letzter Beitrag vom 27. Sep 2019
Antwort Antwort
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

tagMSLLHOOKSTRUCT > mouseData (immer 120?)

  Alt 26. Sep 2019, 23:07
Hallo,

Bei MouseHookStruct.mouseData (HiWord) bekomme ich 120 oder -120 gefeuert (Scrollrad).
Dieser Wert wird auch oft beschrieben. Ich könnte mir aber vorstellen, dass dies kein fester Wert ist und man ihn abfragen sollte. Habe jedoch dazu nichts gefunden. In meinem Fall bekomme ich nämlich bei schnellen Raddrehungen auch mal 240/-240 geliefert. Dies möchte ich gerne abfragen. Wenn das jetzt kein fester Wert (120) ist, sollte ich natürlich diese Werte nicht direkt prüfen.

Vielleicht jemand über dieses Thema schon mal drüber gestolpert?

Gruß Mic
  Mit Zitat antworten Zitat
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: tagMSLLHOOKSTRUCT > mouseData (immer 120?)

  Alt 26. Sep 2019, 23:11
Also es geht mir um das Abfragen für eine doppelte Geschwindigkeit.
  Mit Zitat antworten Zitat
Alt 26. Sep 2019, 23:29     Erstellt von Frühlingsrolle
Dieser Beitrag wurde von Daniel gelöscht. - Grund: Verdacht auf SPAM und den damit verbundenen verschwenderischen Umgang von wertvollen Bits und Bytes
UntoterGeist

Registriert seit: 18. Sep 2019
25 Beiträge
 
#3

AW: tagMSLLHOOKSTRUCT > mouseData (immer 120?)

  Alt 26. Sep 2019, 23:30
Hab das schon mal in anderen Sprachen gesehen. Aber mehr als Größer Kleiner 0 für die Richtung ist da nicht viel drin. Was willst du denn damit machen? Du könntest das natürlich benutzen um Bereiche abzustecken. Also wenn Mausrad langsam mache dies und wenn Mausrad schnell mache das, so wie das in einigen Anwendungen/Editoren ist. Z.B. um das Scrollen zu beschleunigen.
  Mit Zitat antworten Zitat
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

AW: tagMSLLHOOKSTRUCT > mouseData (immer 120?)

  Alt 27. Sep 2019, 07:31
Ich wollte halt mal nachfragen, weil ich auch 240/-240 bekommen kann. Es gibt ja viele verschiedene Mäuse und Maustreiber und sicherlich auch exotische Einstellungsmöglichkeiten. Da dachte ich, 120 ist kein fester Wert. Ist es im Grunde auch nicht, wenn ich 240/-240 bekommen kann. Also wenn, dann nur auf positiv/negativ prüfen. Trotzdem würde ich auf 240/-240 oder evtl. sogar 360/-360 gerne prüfen. Doppelte/Dreifache... Geschwindigkeiten würde ich gerne überspringen, sprich einen bestimmten Code dann nicht ausführen.

Wenn 120 bleibt, dann kann ich natürlich einfach auf "120", "-120" prüfen. Somit würde ich "240", "-240" überspringen. Nur wenn es doch durch eine Einstellung z.B. 100 für WHEEL_DELTA gibt, anstatt 120... naja "GetWHEELDELTA" oder so, gibt es nicht. Dann hoffe ich mal auf einen festen Wert.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: tagMSLLHOOKSTRUCT > mouseData (immer 120?)

  Alt 27. Sep 2019, 08:37
Die Doku ist doch eigentlich sehr eindeutig:

Zitat:
The wheel rotation will be a multiple of WHEEL_DELTA, which is set at 120. This is the threshold for action to be taken, and one such action (for example, scrolling one increment) should occur for each delta.

The delta was set to 120 to allow Microsoft or other vendors to build finer-resolution wheels (a freely-rotating wheel with no notches) to send more messages per rotation, but with a smaller value in each message. To use this feature, you can either add the incoming delta values until WHEEL_DELTA is reached (so for a delta-rotation you get the same response), or scroll partial lines in response to the more frequent messages. You can also choose your scroll granularity and accumulate deltas until it is reached.
Quelle

Zitat:
Currently, a value of 120 is the standard for one detent. If higher resolution mice are introduced, the definition of WHEEL_DELTA might become smaller. Most applications should check for a positive or negative value rather than an aggregate total.
Quelle (.net)

Bonus:
Zitat:
The value of 120 can be evenly divided by 2, 3, 4 or 5. This gives a mouse manufacturer more options in dividing up the current coarser clicks into an even number of higher resolution clicks.
Quelle


Interessieren würde mich jetzt aber trotzdem, was z.B. eine Maus mit frei drehendem Rad von sich gibt. Oder ein gutes Notebook-Touchpad. Die können ja mittlerweile wirklich super fein scrollen und viele Anwendungen (z.B. Browser) unterstützten das auch.
  Mit Zitat antworten Zitat
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

AW: tagMSLLHOOKSTRUCT > mouseData (immer 120?)

  Alt 27. Sep 2019, 09:59
Die Quellen berichtet nur nie etwas über Doppelwerte. Da fragt man sich warum...
Auf einer andere Webseite las ich mal "WheelDelta As Integer = SystemInformation.MouseWheelScrollDelta". Aber ich glaube, damit ist die Einstellung "Seite pro Radbewegung" gemeint. Es schaut jedenfalls nach einem Wert aus, der aus einer Systemeinstellung kommt.

Die Teilung durch 2,3,4 oder 5 macht dann schon etwas Sinn, dass es ein fester Wert sein kann. Wird wohl auch so sein.

Wobei die andere Quelle (mal ins Deutsch automatisch übersetzen lassen):

"Derzeit ist ein Wert von 120 der Standard für eine Rastung. Wenn Mäuse mit höherer Auflösung eingeführt werden, wird die Definition von WHEEL_DELTA möglicherweise kleiner. Die meisten Anwendungen sollten eher auf positive oder negative Werte als auf Gesamtsummen prüfen."

"Derzeit"... "möglicherweise"... nun, von Microsoft wird die entsprechende Konstante (wenn da 120 drin steht?) wohl nicht geändert. Eher gibt's dann in Zukunft wohl doch eine Funktion zum Abfragen. Ich prüfe dann halt auf mein Doppelwert (240/-240) und sonst auf positiv/negativ.

Danke für's raussuchen der Quellen

Mic
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz