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

VB.NET Discussion :

Capture de la souris via setCapture


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 183
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 183
    Par défaut Capture de la souris via setCapture
    Bonjour.

    J'ai un popup qui nécessite de tracker tous les click de la souris (surtout ceux en dehors de sa zone client ou non-cliente).

    Pour se faire, j'utilise un hook sur la souris et cela marche trés bien.

    Seulement, je trouve cela bien compliqué pour peu de chose alors que si je me réfère au doc msdn sur les Api, un setcapture devrait suffire.

    Le soucis, c'est que celui-ci est apparemment sans effet (le control ne reçoit aucun message de la souris, comme WM_LBUTTONDOWN par exemple, si celle-ci est en dehors de sa zone client ou NC).

    Tout ce que j'ai trouvé sur le setcapture sont des exemples à base de form et mon popup est un control basique.

    Une idée ?

    --> j'avance !
    en faisant cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Protected Overrides Sub WndProc(ByRef m As Message)
     
            Select Case m.Msg
     
                Case eMsg.WM_NCHITTEST
                    ReleaseCapture()
                    SetCapture(Me.Handle)
    La capture fonctionne (une fois que j'ai leve hittest en passant sur le popup).

    Ceci signifie donc qu'il se passe quelque chose entre le moment ou je positionne la capture et l'affichage définitif du popup (un autre control prend la capture ?).

    Cdt.

  2. #2
    Membre Expert
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 183
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 183
    Par défaut
    Bon c'est résolu ...

    J'avais créé mon Popup dans le OnMouseDown d'un control ... et forcément aprés OnMouseDown, il y a OnMouseUp et le control récupère la capture.

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

Discussions similaires

  1. [Gestion des Evénements] Comment proceder pour la capture de la souris ?
    Par neguib dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 22/11/2008, 20h49
  2. [VB.net 2005] Capture de la souris
    Par WriteLN dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 29/10/2007, 14h25
  3. Problème de capture de la souris
    Par Teaniel dans le forum C++Builder
    Réponses: 0
    Dernier message: 27/10/2007, 19h07
  4. capturer un événement souris
    Par doc_nounours dans le forum Windows
    Réponses: 8
    Dernier message: 22/11/2006, 10h56
  5. Capturer la molette souris en plein écran
    Par Marekh dans le forum DirectX
    Réponses: 3
    Dernier message: 07/06/2005, 14h20

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