ExamineMouse()
Syntaxe
Resultat = ExamineMouse()Description
Met à jour l'état de la souris.
Arguments
Aucun.
Valeur de retour
Renvoie une valeur non nulle si l'état de la souris a changé, zéro sinon.
Remarques
Cette commande doit être utilisée avant MouseDeltaX(), MouseDeltaY(), MouseX(), MouseY() ou MouseButton().
Le premier appel à ExamineMouse() capture la souris dans l'écran (surface accélérée) en cours, aussi bien en plein écran (Screen ) que dans un écran fenêtré (WindowedScreen).
La souris est à nouveau disponible pour l’ensemble du système après avoir appelé ReleaseMouse(#True) ou après la fin de ce programme.
En mode plein écran, la commande FlipBuffers() doit être appelée dans la boucle d'événements pour gérer correctement tous les événements.
Exemple
; Initialisation du monde 2D InitSprite() InitMouse() ; Ouverture de la fenêtre OpenWindow(0,0,0,800,600,"Souris - Cliquer et utiliser la molette...",#PB_Window_ScreenCentered|#PB_Window_SystemMenu) OpenWindowedScreen(WindowID(0),0,0,800,600,1,0,0) ;Création du curseur de la souris LoadSprite(0, #PB_Compiler_Home + "examples/sources/Data/PureBasic.bmp") ; Load nice small Logo ; Déplacement de la souris MouseLocate(300,200) ; Gestion de la fenêtre et de l'écran Repeat Repeat ; Gestion de la fenêtre Event = WindowEvent() Select Event Case #PB_Event_CloseWindow End EndSelect Until Event = 0 ExamineMouse() ; Etat de la souris x = MouseX() ; Position en x de la souris y = MouseY() ; Position en y de la souris ; Affichage du curseur DisplaySprite(0, x-SpriteWidth(0)/2, y-SpriteHeight(0)/2) ; Molette de la souris = Rotation du curseur tiks = MouseWheel() RotateSprite(0, tiks, #PB_Relative) ; Affichage de l'état de la souris StartDrawing(ScreenOutput()) DrawText(0,5, "X=" + Str(x) + " Y=" + Str(y) + " DeltaX " + Str(MouseDeltaX()) + " DeltaY= " + Str(MouseDeltaY())) If MouseButton(#PB_MouseButton_Left) <> 0 DrawText(0,30, "Bouton Gauche", RGB(255,0,0),RGB(255,255,0)) Else DrawText(0,30, "Bouton Gauche", RGB(255,255,255)) EndIf If MouseButton(#PB_MouseButton_Middle) <> 0 DrawText(150,30, "Bouton Central", RGB(255,0,0),RGB(255,255,0)) Else DrawText(150,30, "Bouton Central", RGB(255,255,255)) EndIf If MouseButton(#PB_MouseButton_Right) <> 0 DrawText(300,30, "Bouton Droit", RGB(255,0,0),RGB(255,255,0)) Else DrawText(300,30, "Bouton Droit", RGB(255,255,255)) EndIf If tiks <> 0 DrawText(450,30, "Molette", RGB(255,0,0),RGB(255,255,0)) Else DrawText(450,30, "Molette", RGB(255,255,255)) EndIf DrawText(0,60,".: Libérer la souris: Clic sur bouton gauche et droit :.") StopDrawing() ; Si clic sur bouton gauche ET droit alors la souris est libérée de l'écran courant If MouseButton(#PB_MouseButton_Left) And MouseButton(#PB_MouseButton_Right) ReleaseMouse(1) oui=6 quitter=MessageRequester("Info !", "Voulez-vous quitter le programme ?",#PB_MessageRequester_YesNo) If quitter=oui End EndIf EndIf FlipBuffers() ClearScreen(RGB(0,0,0)) ForEver End
Voir aussi
InitMouse(), MouseDeltaX(), MouseDeltaY(), MouseX(), MouseY(), MouseButton()
OS Supportés
Tous