@utopiomania: works! - THX!
utopiomania wrote:It scrolls if you focus it?
here some updated code to scroll X or Y...
Code: Select all
;/ sverson 2006
;/ ScrollArea MouseWheel.pb
#WM_MOUSEWHEEL = $20A
#WM_MBUTTONUP = $208
Procedure.w MouseWheelDelta()
; German forum: http://robsite.de/php/pureboard/viewtopic.php?t=2289&postdays=0&postorder=asc&start=10
; Author: Danilo
; Date: 14. September 2003
; CodeArchiv: CheckMouseWheel.pb
x.w = ((EventwParam()>>16)&$FFFF)
Debug x
ProcedureReturn -(x / 120)
EndProcedure
Procedure.l GadgetUnderCursor()
Protected WinPoint.POINT
GetCursorPos_(@WinPoint)
ProcedureReturn WindowFromPoint_(WinPoint\x,WinPoint\y)
EndProcedure
Global Wheelstep.l=10
Global HorVer.b=1
OpenWindow(0, 0, 0, 640, 480, "click MouseWheel (MButton) to switch X/Y scroll", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
CreateGadgetList(WindowID(0))
ScrollAreaGadget(0, 0, 0, 640, 480, 800, 800, 80)
ImageGadget(1, 0, 0, 800, 800, 0)
Repeat
Select WaitWindowEvent()
Case #WM_MOUSEWHEEL
If GadgetUnderCursor()=GadgetID(1)
If HorVer
SetGadgetAttribute(0,#PB_ScrollArea_Y,GetGadgetAttribute(0,#PB_ScrollArea_Y)+(MouseWheelDelta()*Wheelstep))
Else
SetGadgetAttribute(0,#PB_ScrollArea_X,GetGadgetAttribute(0,#PB_ScrollArea_X)+(MouseWheelDelta()*Wheelstep))
EndIf
EndIf
Case #WM_MBUTTONUP
HorVer=HorVer!1
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver

sverson