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

API, COM et SDKs Delphi Discussion :

Différencier le simple du double Clique


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Par défaut Différencier le simple du double Clique
    J'ai parcouru pas mal de forum et commentaire divers.

    Ma problématique :
    Pouvoir différencier sur un TPanel le clique du double clique

    J'ai un évenement OuMouseDown (qui me permet d'initialiser l'evenement OnMousemouve) et divers recherche dans des base de donnés + quelques autres paramétres.
    J'ai également l'evenement OnDblCLick sur ce panel qui me permet d'ouvrir une fenêtre (une form)

    Lorsque je doubleclique ma fenetre s'ouvre bien, mais à la fermeture il réalise l'évenement OuMousedown.

    Je n'arrive pas à empecher d'aller dans l'evenement OuMouseDown lorsqu'il y à un Double clique.

    Apparement j'ai pu voir des commentaires sur l'evenement WM_LBUTTONDBLCLK de windows ou l'on pourrais detecter le double clique en comparant le temps entre 2 cliques.

    Mais je sais pas du tout comment m'y prendre. Il y à-t-il des spécialistes dans le coin ?

    Merci.

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 931
    Billets dans le blog
    6
    Par défaut
    effectivement, c'est le temps entre 2 clics qui te dit si c'est un double ou un unique ; temps : tu stockes la valeur renvoyée par GetTickCount et tu fais la différence avec la précédente
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Par défaut
    Avec le parmètre GetTickCount qui donne le temps depuis l'alluimage du PC je n'arrive pas à savoir si on clique simple ou clique double malheureusement c'est impossible.

    Il y aurait-il un exemple quelque par de ce que je cherche ?

    Merci

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    Tu peux consulter les deux discussions suivantes :
    http://www.developpez.net/forums/d34...-click-souris/
    http://www.developpez.net/forums/d38...k-onmousedown/

    Ton soucis devrait être résolu avec tout ça
    @+
    Ero-Sennin

  5. #5
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Par défaut
    Merci pour le lien, mais il n'y à pas de code exemple.

    Si Sub0 est dans les parages se serait sympa qu'il donne son exemple.

    Car je vois vraiment pas comment faire.

  6. #6
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Salut!

    C'est exactement ce problème que j'ai expliqué dans l'autre topic, c'est-à-dire qu'avec ma solution, il y aura toujours un délai avant l'action du onmousedown, le temps que le système puisse détecter si il s'agit d'un doubleclick ou non.

    Si tu veux, je te prépare une demo

Discussions similaires

  1. [WD18] Différencier le simple clic du double clic
    Par ynsmtkl dans le forum WinDev
    Réponses: 8
    Dernier message: 01/02/2015, 11h52
  2. Différencier un clique d'un double clique
    Par gingman dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/03/2006, 23h12
  3. [Jar] Double clique ne fonctionne pas ...
    Par sylvain_2020 dans le forum Général Java
    Réponses: 4
    Dernier message: 11/08/2004, 19h24
  4. [MFC] Ouvrir un document par double-clique
    Par Choupinou dans le forum MFC
    Réponses: 7
    Dernier message: 03/08/2004, 12h38
  5. Réponses: 4
    Dernier message: 05/07/2004, 13h17

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