Page 1 sur 1

canvas Wheel problème... (résolu)

Publié : mer. 06/juil./2011 9:47
par kernadec
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

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


Re: canvas Wheel problème...

Publié : mer. 06/juil./2011 11:13
par blendman
salut

j'ai regardé mais quel est le problème exactement ?

Re: canvas Wheel problème...

Publié : mer. 06/juil./2011 11:35
par kernadec
avec eventype() Case #PB_EventType_MouseWhee,l ça passe pas debug affiche rien
d'après la doc, il devrait y avoir 1 ou -1

Code : Tout sélectionner

Case #PB_EventType_MouseWheel  
	Debug "wheel = #PB_EventType_MouseWheel" 
	Debug  GetGadgetAttribute(EventGadget, #PB_Canvas_WheelDelta)  


Re: canvas Wheel problème...

Publié : mer. 06/juil./2011 12:13
par blendman
ah oui, effectivement.
C'est peut être un bug, non ?

Par contre, je n'ai pas la doc en Anglais pour la 4.60beta3, elle se trouve où ?

Re: canvas Wheel problème...

Publié : mer. 06/juil./2011 13:34
par Atomo
Extrait de la doc :
On Windows, the #PB_EventType_MouseWheel event is also only reported if the gadget has keyboard focus.
Il faut donc ajouter le flag #PB_Canvas_Keyboard à ton CanvasGadget.

Re: canvas Wheel problème...(résolu)

Publié : mer. 06/juil./2011 13:47
par kernadec
bonjour Atomo
merci, j'étais passé à Coté.... avec l'anglais je suis empoté. :oops:
ça marche bien cool...

Code corrigé.

Cordialement

Re: canvas Wheel problème...

Publié : mer. 06/juil./2011 14:06
par blendman
Quelqu'un pourrait poster la doc en Anglais, s'il vous plait, je ne la trouve pas, et aucune doc en fr pour les canvas n'est disponible ;).

Merci, et aussi merci pour le code, ça va m'être utile.

Re: canvas Wheel problème...

Publié : mer. 06/juil./2011 16:11
par Atomo
Essaie de passer PureBasic en anglais dans les options pour voir.

Re: canvas Wheel problème... (résolu)

Publié : mer. 06/juil./2011 17:59
par kernadec
@blendman
on m' a déjà répondu sur ce forum, il faut installer PureBasic sans mettre de langue dans le Checkbox,
il s' intaille alors en anglais par défaut.

Cordialemnt

Re: canvas Wheel problème... (résolu)

Publié : jeu. 07/juil./2011 10:48
par blendman
Merci ;)

je l'ai installé sans aide et effectivement, on a l'aide en anglais, c'est mieux, car elle est beaucoup plus complète :-)

Re: canvas Wheel problème... (résolu)

Publié : jeu. 07/juil./2011 10:57
par kernadec
Oui, j'étais aussi venu ici, demander comment?.... c'était trop simple pour moi.

ps : ce matin est ce que tu as vu que le dernier code est un Zoom Canvas

Re: canvas Wheel problème... (résolu)

Publié : jeu. 07/juil./2011 19:17
par blendman
kernadec a écrit :Oui, j'étais aussi venu ici, demander comment?.... c'était trop simple pour moi.

ps : ce matin est ce que tu as vu que le dernier code est un Zoom Canvas
ouyé :)
Manque plus qu'à le remplir un p'tit peu et ce sera nickel pour le tester (genre, avec une image).

je vais essayer tiens.

Encore merci ;)