InitMouse()

Syntaxe

Resultat = InitMouse()
Description
Initialise l'environnement Souris.

Arguments

Aucun.

Valeur de retour

Renvoie une valeur non nulle si une souris est disponible, zéro sinon.

Remarques

Vous devez appeler cette fonction avant tout usage des autres commandes de la bibliothèque.

Cette commande tente d'ouvrir DirectX (v3.0 pour la compatibilité NT4.0 ou v7.0 ou plus sinon). Si la fonction échoue (Resultat = 0), cela peut donc provenir de l'absence de DirectX sur votre ordinateur ou d'une version de DirectX trop ancienne. Sous Windows, une version récente de DirectX 9 doit être installé (voir ici: DirectX 9 runtime installer).

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

ExamineMouse()

OS Supportés

Tous

<- ExamineMouse() - Mouse Index - MouseButton() ->