![]() |
Scrollen per Mausrad will nicht
Ich versuche meine Komponente, abgeleitet von TCustomPanel, auch auf das Scrollen des Mausrads reagieren zu lassen, allerdings macht er da nur groben Unfug :(. Der Scrollbalken bewegt sich garnich und die Ausgabe der Komponente wird völlig zertsört... Wenn ich die Scrollbars "von Hand" verschiebe funktioniert alles einwandfrei, nur wäre es halt schick, wenn man auch per drehen des Mausrads scrollen könnte.
Weiß da jemand auf Anheib, was ich falsch mache? Schonmal vielen lieben Dank!!! Liebe Grüße, Laura
Delphi-Quellcode:
procedure CMMouseWheel(var Message: TCMMouseWheel);
var ScrollDelta: Integer; begin inherited; ScrollDelta := 0; if (Message.Result = 0) then begin with Message do begin Message.Result := 1; if ssCtrl in ShiftState then ScrollDelta := Sign(WheelDelta) * ClientHeight else ScrollDelta := WheelDelta; end; end; ScrollBy(0, ScrollDelta); end; |
Re: Scrollen per Mausrad will nicht
Hast du mal Breakpoints gesetzt, um zu testen, ob irgendein Teil des Codes vielleicht gar nicht ausgeführt wird?
|
Re: Scrollen per Mausrad will nicht
Ausgeführt wurde alles, funktioniert hat es leider nich... so gehts aber jetzt:
Delphi-Quellcode:
Das einzige Problem ist noch, dass er weiterscrollt als er darf, da muss ich noch nach schauen...
procedure CMMouseWheel(var Message: TCMMouseWheel);
var ScrollDelta: Integer; begin ScrollDelta := 0; inherited; if (Message.Result = 0) then begin with Message do begin Message.Result := 1; if ssCtrl in ShiftState then ScrollDelta := Sign(WheelDelta) * ClientHeight else ScrollDelta := WheelDelta; end; end; ScrollBarVer.Position := ScrollBarVer.Position - ScrollDelta; Invalidate; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 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