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

Composants VCL Delphi Discussion :

Comment différencier un click court, long et double ?


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 151
    Par défaut Comment différencier un click court, long et double ?
    Bonjour,


    J'ai un soucis de mis à jour d'un composant dérivé du stringgrid qui est connecté à une base de donnée (cité BD ci-dessous).

    J'aimerai sur un événement OnClick, faire la diférence entre un clique court (afficher un hint + mise à jour BD), un clique long (drag and drop + modification des données), un double clique (édition des donnée donc chargement des données de la base)

    Avec le code ci-dessous, ça plante! Je pense que pour certaine manipulation il fait un chargement de donnée et/ou modification en meme temps. Donc le programme plante. Le drag and drop fonctionne par défaut. donc si ce n'est pas du drag and drop, on mais à jour la base.

    Extrait de OnClick :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    //on verifie que le bouton de la souris n'est pas enfoncé!
      sleep(200);
      If (GetAsyncKeyState(VK_LBUTTON)And $8000)=0
      Then //MIse a jour
      MAJBD; //mise à jour base + affichage hint
    Merci de m'aider,

    Max

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Par défaut
    Bonjour,

    Il n'y a pas de différence entre un clik long et un click normal.
    Si vous vouler fair la différence, vous devez tester la longeur du click dans OnMouseUp

    OnMouseDown --> je meorize le l'heure
    OnClick -->
    OnMouseUp --> je compare l'heure avec l'heure du onClickdown

    en sachant que le delat du temps ne peut pas être messurer s'il est inférieure a la millisecond.

    Si vous faite un double click vous aurrez les événments suivant.
    // 1° click
    OnMouseDown
    OnClick
    OnMouseUp

    // 2° click
    OnMouseDown
    OnClick
    OnMouseUp

    Et enfin
    OnDblClick

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 151
    Par défaut
    Merci,

    Ca m'a beaucoup aidé! Problème résolu!

    Bonne prog,

    Max

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

Discussions similaires

  1. click "court" et click long
    Par darksteph dans le forum Android
    Réponses: 1
    Dernier message: 02/03/2011, 15h32
  2. Réponses: 6
    Dernier message: 26/02/2007, 15h33
  3. [C#] Comment suspendre le click durant un traitement ?
    Par sorcer1 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/12/2005, 15h05
  4. Réponses: 4
    Dernier message: 25/07/2005, 14h24
  5. [AppMessage] Comment empêcher un click de la souris ?
    Par altahir007 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 17/10/2003, 14h28

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