Page 1 of 1

MouseReleasedButton

Posted: Sat Dec 31, 2005 5:03 am
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 <<<<
; <<<<<<<<<<<<<<<<<<<<<<<<

Posted: Tue Jan 03, 2006 8:45 pm
by theteapot
Thank you for this! It is simple, and it works!