MouseReleasedButton

Share your advanced PureBasic knowledge/code with the community.
User avatar
Guimauve
Enthusiast
Enthusiast
Posts: 742
Joined: Wed Oct 22, 2003 2:51 am
Location: Canada

MouseReleasedButton

Post by Guimauve »

Code updated for 5.20+

Hello everyone,

This procedure return 1 when the specified mouse button is released.
Just in case, this command must be used in ScreenMode. Also the
ExamineMouse() must be called before to use it.

Sorry, all comments and internal variables are in french.

Regards

Guimauve

Code: Select all

; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Nom du projet : MouseReleasedButton
; Fichier : Source principal
; Version : 1.0.0
; Programmation = OK
; Programmé par : Guimauve
; Date : 30-12-2005
; Mise à jour : 30-12-2005
; Codé avec PureBasic V3.94
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Enumeration 1
   
   #Mouse_Left_Button
   #Mouse_Right_Button
   #Mouse_Center_Button
   
EndEnumeration 

Procedure.b MouseReleasedButton(ButtonNumber.b)
   
   ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
   ; <<<<< On force la procédure à se souvenir des <<<<<
   ; <<<<< valeurs des variables de détection d'un <<<<<
   ; <<<<< relâchement d'un des trois boutons.     <<<<<
   ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
   
   Static Appel.b
   Static Appuyee.b
   Static Relachee.b 
   Static Memoire.b
   
   ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
   ; <<<<< Si la commande à envoyée son impulsion <<<<<
   ; <<<<< de relâchement de bouton de la souris, <<<<<
   ; <<<<< on prépare la procédure pour le clique <<<<<
   ; <<<<< suivant. Nécessaire : Variables STATIC <<<<<
   ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
   
   If Appel = #False
      
      Relachee = #False
      Memoire = #False
      Appel = #True
      
   EndIf 
   
   ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
   ; <<<<< On regarde si le bouton spécifié est appuyé. <<<<<
   ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
   
   Appuyee = MouseButton(ButtonNumber)
   
   ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
   ; <<<<< S'il est appuyé on mémorise l'état du bouton  <<<<<
   ; <<<<< Si le bouton est appuyé il n'est pas relaché. <<<<<
   ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
   
   If Appuyee = #True 
      
      Relachee = #False 
      Memoire = #True
      
   EndIf 
   
   ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
   ; <<<<< Le bouton à été relâché, on prépare l'envoi de <<<<<
   ; <<<<< l'impulsion. De plus, prépare la procédure     <<<<<
   ; <<<<< pour le clique de souris suivant.              <<<<<
   ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
   
   If Appuyee = #False And Relachee = #False And Memoire = #True 
      
      Relachee = #True
      Appel = #False 
      
   EndIf 
   
   ProcedureReturn Relachee
EndProcedure 

; <<<<<<<<<<<<<<<<<<<<<<<<
; <<<< FIN DU FICHIER <<<<
; <<<<<<<<<<<<<<<<<<<<<<<<
theteapot
User
User
Posts: 37
Joined: Fri Sep 09, 2005 7:46 am

Post by theteapot »

Thank you for this! It is simple, and it works!
Using PB 3.94 demo AND PROUD OF IT!!

*Goes back to little hole*
Post Reply