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

MFC Discussion :

Pb onLButtonDown et OnLButtonDblClick


Sujet :

MFC

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    907
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 907
    Par défaut Pb onLButtonDown et OnLButtonDblClick
    Bonjour,

    Je souhaite que sur un évenement double click, le programme ne passe pas dans onLbuttonDown, avant d'aller dans OnLButtonDblCLick.

    Comment faire ?

    Merci,
    Christophe

  2. #2
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Bonjour,

    1. Dans le OnLButtonDown() tu démarres un timer et tu fixes un drapeau du genre bLButtonDblCLickHandled = false. Tu ajuste la minuterie à 1 seconde près

    2. Quand il arrive dans le OnLButtonDblCLick() tu fixes le drapeau à bLButtonDblCLickHandled = true

    3. Dans la méthode du timer tu fermes premièrement le timer et tu négocies suivant la valeur de ton flags entre le click simple et le double clique.

    Explication :
    Quand tu double click, un timer est démarré avec délais ajusté qui permet de savoir si l'évèment déclenché va atteindre le double click. Pendant ce délais les méthodes de la souris sont appelés en fixant un drapeau commun.
    Au bout du délais tu sauras si il s'agit d'un simple ou d'un double click.

  3. #3
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par cjacquel Voir le message
    Je souhaite que sur un évenement double click, le programme ne passe pas dans onLbuttonDown, avant d'aller dans OnLButtonDblCLick.
    Ce n'est pas possible, c'est fait comme cela dans Windows. Le meilleure possibilité pour s'affranchir de ce problème est de ne pas utiliser onLbuttonDown mais plutôt onLbuttonUp (si possible)

    Citation Envoyé par Gabrielly Voir le message
    1. Dans le OnLButtonDown() tu démarres un timer et tu fixes un drapeau du genre bLButtonDblCLickHandled = false. Tu ajuste la minuterie à 1 seconde près
    Cette méthode n'est pas très bonne si tu modifies dans le panneau de configuration de délai du double clic de la souris
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  4. #4
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 526
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 526
    Par défaut
    Et en faisant un "hook" souris avec SetHook ?
    C'est peut-être possible

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