ReleaseMouse()
Syntaxe
ReleaseMouse(Etat)Description
Capture ou libère la souris pour rendre son usage possible dans le système d'exploitation.
Arguments
Etat #True : La souris est libérée de l'écran #False : La souris est capturée dans l'écran.
Valeur de retour
Aucune.
Remarques
On utilise typiquement cette fonction après avoir vérifié le résultat de la commande IsScreenActive().
Exemple
; Quelques variables MargeG = 20 MargeH = 20 LargeurEcran = 440 HauteurEcran = 440 ; Initialisation du monde 2D InitSprite() InitMouse() ; Ouverture de la fenêtre et de l'écran OpenWindow(0,0,0,650,480,"Capture/Libération de la souris",#PB_Window_ScreenCentered|#PB_Window_SystemMenu) ButtonGadget(1,500,440,120,24,"Cliquez !") OpenWindowedScreen(WindowID(0),20,20,LargeurEcran,HauteurEcran,0,0,0) ; Gestion de la fenêtre et de l'écran Repeat Repeat ; Gestion de la fenêtre Event = WindowEvent() Select Event Case #PB_Event_Gadget If EventGadget() = 1 ; Si Clic sur le Bouton "Cliquez !" MessageRequester("Attention","Bouton cliqué !") EndIf Case #PB_Event_CloseWindow ; Si fermeture de la fenêtre End EndSelect ; Affichage de la position de la souris dans la fenêtre SetWindowTitle(0, "Capture/Libération de la souris X= " + Str(mx) + " Y= "+ Str(my)) Until Event = 0 ; Gestion de la capture de la souris dans l'écran noir If inScreen = #True ; Si la souris est dans l'écran noir... If MouseX() > LargeurEcran-2 Or MouseY() > HauteurEcran-2 Or MouseX() < 1 Or MouseY() <1 ReleaseMouse(#True) ; ...et si elle s'approche des bords de l'écran alors on libère la souris inScreen = #False EndIf Else mx = WindowMouseX(0) ; Sinon, si la souris entre dans l'écran noir... my = WindowMouseY(0) If mx < LargeurEcran + MargeG And mx > MargeG And my > MargeH And my < MargeH + HauteurEcran ReleaseMouse(#False) ; ... alors on capture la souris MouseLocate(mx-MargeG,my-MargeH) inScreen = #True EndIf EndIf ; Affichage de l'écran noir ClearScreen(0) StartDrawing(ScreenOutput()) DrawText(150,200,"Souris relachée") DrawText(180,230,"X= ") DrawText(180,260,"Y= ") StopDrawing() If inScreen ; Si la souris est dans l'écran noir... ExamineMouse() StartDrawing(ScreenOutput()) FrontColor(RGB(255,255,0)) DrawText(150,200,"Souris capturée" ) DrawText(180,230,"X= "+ Str(MouseX())) DrawText(180,260,"Y= "+ Str(MouseY())) DrawText(MouseX(), MouseY(), "["+Chr(164)+"]") StopDrawing() EndIf FlipBuffers() ForEver
Voir aussi
ExamineMouse(), IsScreenActive()
OS Supportés
Tous