Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Désactiver le curseur dans un menu  (Lu 1410 fois)

0 Membres et 1 Invité sur ce sujet

Bamowen

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Désactiver le curseur dans un menu
« le: Août 25, 2014, 12:46:06 am »
Bonjour !
Je cherche à désactiver le curseur lorsque j'utilise le clavier dans un menu afin que la souris ne reste pas sur un bouton et finisse par toujours le mettre en surbrillance.
J'ai bien trouvé setMouseCursorVisible mais le curseur continue d'être actif bien qu'invisible.

Des idées?

G.

  • Hero Member
  • *****
  • Messages: 1592
    • Voir le profil
Re : Désactiver le curseur dans un menu
« Réponse #1 le: Août 25, 2014, 02:37:02 am »
Si ton truc se met en surbrillance c'est parce que tu le lui dis.
Ne traite pas les évènements de la souris quand t'utilises le clavier et voilà. :p

Bamowen

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : Désactiver le curseur dans un menu
« Réponse #2 le: Août 25, 2014, 02:22:09 pm »
Je suis un peu débutant, comment puis je faire ça? :)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Désactiver le curseur dans un menu
« Réponse #3 le: Août 25, 2014, 02:27:26 pm »
Citer
Je suis un peu débutant, comment puis je faire ça?
Ca n'empêche pas de réflechir à la logique qui permet de réaliser telle ou telle tâche. Après on peut t'aider sur les aspects techniques si tu as des soucis. Parce que là, sans savoir comment tu gères ton texte et tes boutons, on ne peut pas dire grand chose d'autre que ça : quand tu commences l'édition de texte tu mets un booléen à true, et tu le remets à false quand tu termines l'édition de texte. Ensuite tu n'affiches la surbrillance que si ce booléen est à false.
Laurent Gomila - SFML developer

G.

  • Hero Member
  • *****
  • Messages: 1592
    • Voir le profil
Re : Désactiver le curseur dans un menu
« Réponse #4 le: Août 25, 2014, 02:36:36 pm »
Désolé je ne sais pas quoi te dire de plus pour t'aider parce que là pour l'occasion ça m'a l'air tellement tout con que y'a pas grand chose à en dire. :-\

Si tu veux pas que la souris agisse quand tu utilises le clavier : tu pourrais créer un booléen, le mettre à vrai quand tu te mets à utiliser le clavier, et ne traiter les évènements de la souris (là où tu décides de mettre tel ou tel truc en surbrillance si la souris est dessus) seulement si ce booléen est à faux.
if (event.type == sf::Event::MouseMoved) {
    if (!jUtiliseLeClavier) {
        //je mets tel ou tel bouton en surbrillance d'après ce que me dit la souris
    }
}

if (event.type == sf::Event::KeyPressed) {
    jUtiliseLeClavier = true;
    // je mets tel ou tel bouton en surbrillance d'après ce que me dit le clavier
}