trouver l'etat de la souris dans un OpenWindow

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
cha0s
Messages : 681
Inscription : sam. 05/mars/2005 16:09

trouver l'etat de la souris dans un OpenWindow

Message par cha0s »

J'ai un petit problem avec la souris ,je cherche a obtenir l'etat de la souris mais je ne sait pas comment faire .Je pense que il s'agit de recuperer letat comme evenement de window mais je voit pas comment .
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

Tu as 4 évènements intéressants pour ça: #wm_lbuttondown , #wm_lbuttonup , #wm_rbuttondown , #wm_rbuttonup.
A toi de les récupérer et de t'en servir pour actualiser l'état de la souris...

Petit exemple vite fait:

Code : Tout sélectionner



Procedure makepoint(*p.point,packedxy.l)
   *p\x = packedxy & $ffff
   *p\y = (packedxy >> 16) & $ffff
EndProcedure

DefType.point coordsouris

If OpenWindow(0,0,0,300,300,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"Test Souris")
   Repeat
      Select WaitWindowEvent()
         Case #PB_Event_CloseWindow : End
         Case #WM_LBUTTONDOWN
            makepoint(@coordsouris,EventlParam())
            Debug "________"
            Debug "Bouton gauche enfoncé"
            Debug "x = " +Str(coordsouris\x)
            Debug "y = " +Str(coordsouris\y)
         Case #WM_LBUTTONUP
            makepoint(@coordsouris,EventlParam())
            Debug "________"
            Debug "Bouton gauche relevé"
            Debug "x = " +Str(coordsouris\x)
            Debug "y = " +Str(coordsouris\y)
         Case #WM_RBUTTONDOWN
            makepoint(@coordsouris,EventlParam())
            Debug "________"
            Debug "Bouton droit enfoncé"
            Debug "x = " +Str(coordsouris\x)
            Debug "y = " +Str(coordsouris\y)
         Case #WM_RBUTTONUP
            makepoint(@coordsouris,EventlParam())
            Debug "________"
            Debug "Bouton droit relevé"
            Debug "x = " +Str(coordsouris\x)
            Debug "y = " +Str(coordsouris\y)
      EndSelect
   ForEver
EndIf
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
cha0s
Messages : 681
Inscription : sam. 05/mars/2005 16:09

Message par cha0s »

merci c'est exactement ce que je cherchais
Répondre