![]() |
Mausrad-Empfindlichkeit
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:
Meine Frage: gibt es eine API oder Delphi - Funktion mit welcher das geändert werden kann ?
procedure Form1.FormMouseWheelDown(Sender...)
Var zaehler : Integer; begin Inc(zaehler); end; Wendelin |
AW: Mausrad-Empfindlichkeit
Liste der Anhänge anzeigen (Anzahl: 1)
OnMouseWheel statt OnMouseWheelDown verwenden, dabei vom WheelDelta nur die Richtung (
![]() ![]() 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. |
AW: Mausrad-Empfindlichkeit
Danke Himitsu,
werde ich ausprobieren. Wendelin |
AW: Mausrad-Empfindlichkeit
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... |
AW: Mausrad-Empfindlichkeit
Zitat:
|
AW: Mausrad-Empfindlichkeit
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22: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