MouseWheel für PB 5+?
Verfasst: 14.02.2013 13:13
habe folgende MouseWheel Funktion gefunden, welche aber scheinbar nichtmehr geht. Original Code war auch ohne CallBack.
Code: Alles auswählen
; German forum: http://www.purebasic.fr/german/archive/viewtopic.php?t=2289&postdays=0&postorder=asc&start=10
; Author: Danilo (updated for PB4.00 by blbltheworm)
; Date: 14. September 2003
; OS: Windows
; Demo: Yes
#WM_MOUSEWHEEL = $20A
#zoomspeed = 4
Wheel = 20
Procedure.w MouseWheelDelta()
x.w = ((EventwParam()>>16)&$FFFF)
ProcedureReturn -(x / 120)
EndProcedure
Procedure cb(hwnd, msg, wParam.w, lParam.l)
Result = #PB_ProcessPureBasicEvents
Select msg
Case #WM_MOUSEWHEEL
Wheel + MouseWheelDelta() * #zoomspeed
Debug MouseWheelDelta()
If Wheel < 8:Wheel = 8:EndIf
SetGadgetText(0,Str(Wheel))
EndSelect
ProcedureReturn Result
EndProcedure
OpenWindow(0,0,0,400,400,"Mouse Wheel z00m",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
StringGadget(0,30,0,450,400,"20")
SetGadgetFont(0,LoadFont(0,"Arial",Wheel))
SetWindowCallback(@cb())
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow: End
EndSelect
ForEver
; IDE Options = PureBasic v4.00 (Windows - x86)
; Folding = -