Page 1 sur 1

evenement de la molette des pad des ordinateurs portables

Publié : jeu. 19/mai/2011 17:01
par graph100
Bien, comme dis le titre du post, je n'arrive pas à récupérer d'une manière ou d'une autre les events des molettes des pad
des ordi portables.
C'est un cas particulier, je le sais bien, cependant, si une fonctionnalité d'un logiciel est autour de la molette de la souris,
sans alternative, un utilisateur avec un portable est dans la *****.

Je me suis rendu compte que la molette des pads ne génère pas d'event récupérable dans l'appli pb -_-
par contre, elle fonctionne sur les ascenseurs des treegadgets, etc ... Ce qui rend le problème d'autant plus mystérieux.

Des idées ???

Re: evenement de la molette des pad des ordinateurs portable

Publié : jeu. 19/mai/2011 17:58
par Chris
Les gadgets de Pb sont pratiquement tous des composants standards de Windows sous Windows, de Linux sous Linux, etc

Un TreeGadget n'est rien d'autre qu'un Tree-View Control sous Windows.

Essaye de passer par l'api pour récupérer les évènements dans la callback

Re: evenement de la molette des pad des ordinateurs portable

Publié : jeu. 19/mai/2011 19:35
par boddhi
@graph100 : Pardon si la question paraît idiote mais lorsque tu parles de molette sur portable, tu fais allusion à ça ???
Image

Si c'est le cas, via un WindowCallback et API Windows, sa manipulation me retourne 3 types d'évènements dont un de valeur $20A qui correspond à la constante #WM_MOUSEWHEEL

Re: evenement de la molette des pad des ordinateurs portable

Publié : jeu. 19/mai/2011 21:39
par boddhi
Un début de piste...

Code : Tout sélectionner

Procedure.i Fc_WindowCallBack(hWnd,uMsg,wParam,lParam)
  Define.i ValeurRetour
  ValeurRetour=#PB_ProcessPureBasicEvents
  Debug uMsg
  Select uMsg
    Case #WM_MOUSEACTIVATE
      Debug "Appui sur pad/molette"
      Debug "ID Fenetre :"+Str(wParam)
      Debug "Type d'appui :"+Str(lParam)
      ; http://msdn.microsoft.com/en-us/library/ms645612%28v=vs.85%29.aspx
      ; et plus généralement http://msdn.microsoft.com/en-us/library/ff468874%28v=VS.85%29.aspx
    Case #WM_MOUSEWHEEL
      Debug "Défilement pad/molette souris utilisé(e)"
    EndSelect
  ProcedureReturn ValeurRetour
EndProcedure

OpenWindow(0,100,100,100,100,"Exemple",#PB_Window_SystemMenu)
SetWindowCallback(@Fc_WindowCallBack(),0)

Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow

Re: evenement de la molette des pad des ordinateurs portable

Publié : ven. 20/mai/2011 12:02
par graph100
merci ;)

je jette un coup d’œil la dessus tout de suite

edit : ok ca fonctionne merci ;)