AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Mausrad-Empfindlichkeit

Ein Thema von wendelin · begonnen am 23. Jun 2022 · letzter Beitrag vom 19. Jul 2022
Antwort Antwort
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
121 Beiträge
 
Delphi 7 Enterprise
 
#1

Mausrad-Empfindlichkeit

  Alt 23. Jun 2022, 12:31
Hallo,
Ich habe folgendes Problem.

Wenn ich die Funktion Form1.FormMouseWheelDown(Sender...)
nutze stelle ich fest, dass von 'MouseRaste' zur nächsten 'mausraste'
innerhalb der funktion eine beliebige integer - Var um 4 einheiten incrementiert
oder decrementiert wird.

Beispiel :
Delphi-Quellcode:
 procedure Form1.FormMouseWheelDown(Sender...)
                  Var zaehler : Integer;
                  begin
                    Inc(zaehler);
                  end;
Meine Frage: gibt es eine API oder Delphi - Funktion mit welcher das geändert werden kann ?

Wendelin
Wolfgang
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#2

AW: Mausrad-Empfindlichkeit

  Alt 23. Jun 2022, 12:45
OnMouseWheel statt OnMouseWheelDown verwenden, dabei vom WheelDelta nur die Richtung (Delphi-Referenz durchsuchenSign, bzw. einfach nur größer oder kleiner 0) beachten, und den Wert (Delphi-Referenz durchsuchenAbs) ignorieren.


Oder über irgendeine API, bzw. irgendwo aus der Registry wird man den Wert bestimmt auslesen können.




Eine API zum Ändern gibt es natürlich, wenn aber wenn dein Programm an den globalen Systemeinstelungen rumpfuscht, wird dich bestimmt jemand verhauen.
Miniaturansicht angehängter Grafiken
scrollcount.png  
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (23. Jun 2022 um 12:49 Uhr)
  Mit Zitat antworten Zitat
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
121 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Mausrad-Empfindlichkeit

  Alt 17. Jul 2022, 18:41
Danke Himitsu,

werde ich ausprobieren.
Wendelin
Wolfgang
  Mit Zitat antworten Zitat
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
485 Beiträge
 
Delphi 12 Athens
 
#4

AW: Mausrad-Empfindlichkeit

  Alt 19. Jul 2022, 07:04
Ich nutze normalerweise "OnMouseWheel". Und dort hole ich mir den tatsächlichen Wert mit "WheelOffset := AMessage.WheelDelta / WHEEL_DELTA". Das Vorzeichen gibt dann Auskunft darüber, in welche Richtung das Rad gedreht wurde. WHEEL_DELTA ist eine Konstante von Windows (glaube 120). Als Ergebnis erhalte ich dann die Anzahl der Rasten...

OnMouseWheelUp und OnMouseWheelDown werden mit jedem Raster immer genau so of aufgerufen wie in Windows bei den Mauseinstellungen die "Zeilen, die gleichzeitig gescrollt werden sollen" eingestellt ist.

Das mit Deiner Funktion geht so eh nicht. Due deklarierst einen lokalen Integer, der nicht initialisiert ist und inkrementierst diesen. Beim verlassen der Funktion wird dieser wieder freigegeben. Entweder "zaehler" als class member definieren oder - falls nur zum Testen - außerhalb der Methode (z.B. vor dem "procedure") deklarieren...
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.377 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Mausrad-Empfindlichkeit

  Alt 19. Jul 2022, 07:47
Oder über irgendeine API, bzw. irgendwo aus der Registry wird man den Wert bestimmt auslesen können.
Eine API zum Ändern gibt es natürlich, wenn aber wenn dein Programm an den globalen Systemeinstelungen rumpfuscht, wird dich bestimmt jemand verhauen.
Wenn man die globale Systemeinstellung nicht benutzt aber auch.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#6

AW: Mausrad-Empfindlichkeit

  Alt 19. Jul 2022, 10:27
Es kommt drauf an, was man damit wie Scrollen will.

Diese Option ist ja namentlich mehr für MultilineEditControls.
* x Zeilen
* bzw. ganze Seite (sichtbarer Bereich)

Für Zeichenflächen will man eventuell ein anderes Scrollverhalten,
aber z.B. bei einer ComboBox (zugeklappt, also nicht in der DropdownList) oder einem Grid (nicht den sichtbaren Bereich, sondern die focusierte Zelle verschieben), da will man garnicht "mehr", sondern immer 1.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:48 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