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 6 et antérieur Discussion :

[VB] Comment désactiver le double-click


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Par défaut [VB] Comment désactiver le double-click
    Bonjour,

    Je souhaiterai gérer mes click souris uniquement avec les méthodes _MouseDown et _MouseUp

    Cependant si je double clique, c'est la méthode _DblClick qui est activée

    Comment faire pour ne plus avoir le double click intercepté par cette méthode ?

    Merci

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Je ne sais pas ce que tu veux faire, mais il me semble plus astucieux d'annuler tout simplement l'action (elle-même) qu'aurait déclenché un double click .

    Voilà comment tu peux faire pour annuler ce qui serait déclenché (ton code éventuel) par un double-click
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private gardien As Boolean 
     
    Private Sub Form_Load()
     gardien = False
    End Sub
     
    Private Sub Text1_DblClick()
      If gardien Then Exit Sub
      MsgBox "oui"
    End Sub
     
    Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
     gardien = False
    End Sub
     
    Private Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
       gardien = True  '<<<====inhibes cette ligne et vois la différence !
    End Sub
    inhibe gardien = true et tu verras la différence !

  3. #3
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Par défaut
    pas évident d'expliquer mon problème
    plutôt par l'exemple suivant:
    place un picture et un text sur ta forme et copies le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
      Static a
      a = a + 1
      Text1 = a
    End Sub
    lances le, et à présent cliques rapidement sur la picture1, tu vois que le compteur ne s'incrémente pas à chaque clique, mais à chaque double click seulement ! voilà, j'aimerai donc que l'évenement double click n'intervienne plus dans l'histoire, dur dur...

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Utilise le mouseup (plus rapide que le mousedown)

    Au passage : ce n'est pas une question de double Clic mais une question de vitesse d'exécution uniquement. Cette vitesse est quasiment doublée avec le mouseup


    EDIT : J'ignore les raisons pour lesquelles le MouseDown est plus lent que le Mouseup (pas de documentation Microsoft à ce propos).
    J'imagine simplement que le MouseDown étant le 1er mouvement d'un click, mais aussi d'un drag, une mise en mémoire de certains paramètres est nécessaire, alors que le mouseup est au contraire le dernier acte... au point que si l'on presse le bouton sur un objet et que, le maintenant pressé, on "sort" de l'objet, le mouseup fait en dehors de l'objet sera considéré comme un mouseup de l'objet. Pourquoi cette philosophie ? Interroger Mr. Bill...

  5. #5
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Par défaut
    merci 1000 fois, mon problème est résolu à présent
    c'est vrai qu'il y a une sacré différence de vitesse entre le up et le down !
    encore merci

Discussions similaires

  1. [Toutes versions] Identifier comment est ouvert un fichier : double click ou via raccourci
    Par Pilou52 dans le forum Excel
    Réponses: 2
    Dernier message: 30/04/2014, 18h51
  2. comment éviter un double click malheureux
    Par Godard dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/10/2010, 18h15
  3. Désactiver le "double-click" dans une appli
    Par Tchaill39 dans le forum Delphi
    Réponses: 30
    Dernier message: 05/04/2007, 16h51
  4. comment désactiver le click droit de la souris
    Par Lyli dans le forum Langage
    Réponses: 6
    Dernier message: 14/03/2006, 04h54

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