Disparition de la souris : qu'est ce que je fais de mal ?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

Disparition de la souris : qu'est ce que je fais de mal ?

Message par olivier »

Salut à tous

Voila une petite fenetre où la souris disparait au milieu.... Normalement !
Mais cela ne marche pas vraiment.
Auriez vous une idée ?
Merci d'avance

Code : Tout sélectionner

OpenWindow(0,10,10,200,200,#PB_Window_SystemMenu,"")

Repeat
    EventID = WaitWindowEvent()
    
    Select EventID
        Case #WM_MOUSEMOVE

            If WindowMouseX()>50 And WindowMouseX()<150 And WindowMouseY()>50 And WindowMouseY()<150
                Debug "zone invisible"
                ShowCursor_(0)
            Else
                Debug "zone VIsible"
                ShowCursor_(1)
            EndIf
            
    EndSelect
    
Until EventID = #PB_EventCloseWindow
Vive le temps libre !
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

Je crois que le prob vient du fait que ShowCursor n'agit pas directement sur le pointeur: en fait, ça incrémente/décrémente un compteur, et le pointeur est affiché ou non selon que le compteur est positif ou négatif...

En mémorisant l'état du pointeur et en appelant la fonction que quand cet état doit être changé, ça a l'air de mieux marcher:

Code : Tout sélectionner


OpenWindow(0,10,10,200,200,#PB_Window_SystemMenu,"")

Global MouseVisible.l
MouseVisible = #True

Repeat
    EventID = WaitWindowEvent()
   
    Select EventID
        Case #WM_MOUSEMOVE

            If WindowMouseX()>50 And WindowMouseX()<150 And WindowMouseY()>50 And WindowMouseY()<150
                Debug "zone invisible"
                If MouseVisible
                  ShowCursor_(0)
                  MouseVisible = #False
                EndIf
            Else
                Debug "zone VIsible"
                If MouseVisible = #False
                  ShowCursor_(1)
                  MouseVisible = #True
                EndIf
            EndIf
           
    EndSelect
   
Until EventID = #PB_EventCloseWindow
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

Message par olivier »

Ah ben là je comprends mieux !

Merci Filperj et bonne nuit 8O
Vive le temps libre !
Répondre