![]() |
AW: Mit Mausrad in TScrollBox scrollen
Delphi-Quellcode:
... if PtInRect((Sender as TScrollBox), MousePos) then
Irgendwie sieht das nicht so aus, als könnte das funktionieren... |
AW: Mit Mausrad in TScrollBox scrollen
Es tut aber. Was theoretisch eventuell nicht geht, klappt in der Praxis fehlerfrei.
Aber sag bitte, was sieht daran falsch aus? Sherlock |
AW: Mit Mausrad in TScrollBox scrollen
Delphi-Quellcode:
Weil
... if PtInRect((Sender as TScrollBox), MousePos) then
Delphi-Quellcode:
als ersten Parameter ein TRect verlangt...
function PtInRect(const lprc: TRect; pt: TPoint): BOOL; stdcall;
|
AW: Mit Mausrad in TScrollBox scrollen
Eiverdibsch!! Da ist mir doch tatsächlich etwas verloren gegangen:
Delphi-Quellcode:
Danke für den Hinweis!
if PtInRect((Sender as TScrollBox).BoundsRect, MousePos) then
Sherlock |
AW: Mit Mausrad in TScrollBox scrollen
Viele Jahre später ....
ich habe gerade das gleiche Problem. Ich habe eine TScrollbox und darauf ein TImage welches über die ganze Scrollbox gezogen wird. Ich habe darin ein Bild was genauso breit wie die Scrollbox, aber höher als die Scrollbox ist. Ich würde nun ebenfalls gern mit der Maus darin hoch/runter scrollen. Aber ich bekomme das Event nicht abgefangen. Weder auf der Form, noch in der Scrollbox. Leider hat TImage kein Event dazu. Edit : Ok hab es hinbekommen, aber anders als hier beschrieben
Code:
boundrect hat gar nicht funktioniert, weil boundrect mir 0,0 angab weil die Scrollbox auf einem Panel saß. D.h ich musste erst einmal die Punkte auf dem Screen ermitteln. und onMouseWheel reagiert bei mir gar nicht.
procedure Tmyapp.FormMouseWheelDown(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); var vsb : TControlScrollbar; lp,mp : TPoint; mr : TRect; begin GetCursorPos(mp); lp := Scrollbox1.ClientToScreen(Point(0,0)); mr := Rect(lp,Point(lp.x+scrollbox1.width,lp.y+scrollbox1.Height)); if PtInRect(mr, mp) then begin vsb := Scrollbox1.VertScrollBar; vsb.Position := vsb.Position + vsb.Increment; Handled := true; log.lines.add('Scrollrad Form down'); end; end; Sorry fürs pushen :-P Guten Rutsch allen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:45 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