Vcl.Controls.TControl.DoMouseWheel
Delphi
function DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint): Boolean; dynamic;
C++
DYNAMIC bool __fastcall DoMouseWheel(System::Classes::TShiftState Shift, int WheelDelta, const System::Types::TPoint &MousePos);
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
function | protected | Vcl.Controls.pas Vcl.Controls.hpp |
Vcl.Controls | TControl |
Beschreibung
Verarbeitet eine Drehung des Mausrads.
DoMouseWheel wird automatisch aufgerufen, wenn der Benutzer das Mausrad dreht.
Der Parameter Shift enthält den aktuellen Status der Tasten UMSCHALT, ALT und STRG.
Der Parameter WheelDelta bezeichnet den Bereich, um den das Mausrad gedreht wurde. Bei einer Drehung nach oben hat WheelDelta einen positiven Wert, bei einer Drehung nach unten einen negativen.
Der Parameter MousePos enthält die aktuelle Position des Mauszeigers.
DoMouseWheel gibt true zurück, wenn das Ereignis durch eine entsprechende Behandlungsroutine verarbeitet werden konnte.
In TControl ruft DoMouseWheel zunächst die OnMouseWheel-Behandlungsroutine auf. Wenn diese vorhanden ist und das Ereignis verarbeiten konnte, gibt DoMouseWheel true zurück. Andernfalls wird (in Abhängigkeit von der Drehrichtung) mehrmals die Methode DoMouseWheelDown oder DoMouseWheelUp aufgerufen. Diese sorgt wiederum für den Aufruf der OnMouseWheelUp- bzw. OnMouseWheelDown-Ereignisbehandlungsroutine.
Vor dem ersten Aufruf von DoMouseWheelDown oder DoMouseWheelUp addiert DoMouseWheel den Wert von WheelDelta zu dem der Eigenschaft WheelAccumulator. Nach jedem Aufruf passt DoMouseWheel den Wert von WheelAccumulator auf Null an. Dabei wird eine interne Konstante verwendet, welche die kleinste Radbewegung definiert, die eine Wirkung hat. Wenn der absolute Wert von WheelAccumulator unter den Wert dieser Konstante abfällt, wird die Methode DoMouseWheel beendet. Sie gibt dann den Rückgabewert des abschließenden Aufrufs von DoMouseWheelDown oder DoMouseWheelUp zurück.