canvas Wheel problème... (résolu)
Publié : mer. 06/juil./2011 9:47
bonjour à tous
Quelqu'un pourrait il me résoudre ce problème avec #PB_EventType_MouseWheel
le Mode Whell avec #WM_MOUSEWHEEL fonctionne.
mais avec l'option de Canvas, je n'arrive pas à comprendre
Cordialement
Quelqu'un pourrait il me résoudre ce problème avec #PB_EventType_MouseWheel
le Mode Whell avec #WM_MOUSEWHEEL fonctionne.
mais avec l'option de Canvas, je n'arrive pas à comprendre

Cordialement
Code : Tout sélectionner
Procedure.w MouseWheelDelta()
wz.w = ((EventwParam()>>16)&$FFFF)
ProcedureReturn -(wz/100)
EndProcedure
Procedure test_wheel(EventGadget)
Select EventType()
Case #PB_EventType_MouseWheel
Debug "wheel = #PB_EventType_MouseWheel"
Debug GetGadgetAttribute(EventGadget, #PB_Canvas_WheelDelta)
Case #PB_EventType_LeftButtonDown
Debug "lb"
Case #PB_EventType_RightButtonDown
Debug "rb"
Case #PB_EventType_LeftButtonUp
Debug GetGadgetAttribute(EventGadget, #PB_Canvas_Buttons)
Case #PB_EventType_RightButtonUp
Debug GetGadgetAttribute(EventGadget, #PB_Canvas_Buttons)
Case #PB_EventType_MouseMove
EndSelect
EndProcedure
OpenWindow(0,0,0,640,480,"",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
CanvasGadget(1, 0, 0,640,480,#PB_Canvas_GrabMouse|#PB_Canvas_DrawFocus|#PB_Canvas_Keyboard )
Repeat
event = WaitWindowEvent()
Select event
Case #WM_MOUSEWHEEL
delta_x=delta_x+(MouseWheelDelta())
delta_y=delta_y+(MouseWheelDelta())
Debug Str(delta_x)+" - "+Str(delta_y) + " = #WM_MOUSEWHEEL"
Case #PB_Event_Gadget
Select EventGadget()
Case 1
test_wheel(EventGadget())
EndSelect
EndSelect
Until event = #PB_Event_CloseWindow