IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

Gestion de la molette


Sujet :

C++/CLI

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Gestion de la molette
    Bonjour,

    Je programme avec Visual C++ 2005 Express Edition.
    Je voudrai savoir comment peut-on détecter les mouvements de la molette de la souris ? Je trouve les évenements pour le déplacement de la souris, mais pour la molette, rien.

    A l'aide de cette détection de la molette, je voudrai changer le focus des différents éléments qui sont sur mon IHM.

    Merci de votre aide.

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    plus de précisions stp,

    win32 ? MFC ? .Net & winforms ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    C'est un projet Windows Form Application, pas un Win32 ni un .NET.
    Cela à pour but de faire défiler la sélection des différents éléments sur mon IHM, et aussi de faire défiler des lettres dans un EditBox par exmple.

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    donc, c'est du winforms et du .Net

    il faut que tu interceptes le mousemove , c'est dans la propriété Delta du mouseEventArgs

    sinon, ajoute l'événement comme indiqué ici http://msdn.microsoft.com/library/de...WheelTopic.asp

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    J'arrive bien à intercepter le mousemove sur ma Form, mais la propriété Delta ne m'indique rien. (j'ai plutôt l'air d'intercepter les mouvements de la molette sur l'évènement MouseHover, mais je ne pe pas différencier les roulements de la molette et le passage par dessus ma Form (pas de propriété Delta)).

    Pour la 2eme solution, je ne comprends pas trop comment l'intégrer dans mon projet, mais je vais fouiller çà aujourd'hui et j'espere avoir un résultat.

    Merci de l'aide.

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    pour intercepter dans la form, il faut faire quelque chose comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this->MouseWheel += gcnew System::Windows::Forms::MouseEventHandler(this, &Form1::MaFonctionMouseWheel);
    avec une fonction avec cette entete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	private: System::Void MaFonctionMouseWheel(System::Object^  sender, System::Windows::Forms::MouseEventArgs^  e) {
    			 }

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    Merci de ta réponse, cela marche mais j'ai un autre problème maintenant.
    En fait, quand je tourne la molette de ma souris d'un seul cran,la premiere fois, je détecte bien que cela tourne de 1 cran (en cumulant le e->Delta dans une variable globale, j'obtient 120 ou -120), mais lorsque je tourne une nouvelle fois la molette d'un cran (vers le heut ou vers le bas), j'en détecte en fait plusieurs (4 ou 5).
    Est-ce normal ? Due à la précision de la molette de la souris ? Comment je peux faire pour n'en détecter qu'un seul à la fois ?

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des scroll avec molette et key
    Par ppphil dans le forum C#
    Réponses: 4
    Dernier message: 08/01/2010, 16h30
  2. gestion de la molette
    Par xavynfive dans le forum GLUT
    Réponses: 6
    Dernier message: 07/05/2005, 12h57
  3. Réponses: 4
    Dernier message: 04/07/2002, 12h31
  4. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11
  5. gestion d'un joystick ...
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2002, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo