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

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

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

Message 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

Dernière modification par kernadec le mer. 06/juil./2011 17:55, modifié 3 fois.
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: canvas Wheel problème...

Message par blendman »

salut

j'ai regardé mais quel est le problème exactement ?
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: canvas Wheel problème...

Message 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)  

Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: canvas Wheel problème...

Message 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ù ?
Atomo
Messages : 207
Inscription : lun. 17/sept./2007 12:27

Re: canvas Wheel problème...

Message 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.
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

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

Message par kernadec »

bonjour Atomo
merci, j'étais passé à Coté.... avec l'anglais je suis empoté. :oops:
ça marche bien cool...

Code corrigé.

Cordialement
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: canvas Wheel problème...

Message 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.
Atomo
Messages : 207
Inscription : lun. 17/sept./2007 12:27

Re: canvas Wheel problème...

Message par Atomo »

Essaie de passer PureBasic en anglais dans les options pour voir.
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

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

Message 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
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

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

Message 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 :-)
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

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

Message 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
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

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

Message 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 ;)
Répondre