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 annuler un drag&drop ?


Sujet :

Composants VCL Delphi

  1. #1
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut Comment annuler un drag&drop ?
    Mon pb :

    j'ai une grille avec
    dragmode = dmManual
    et le code suivant sur OnMouseDown :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // initialisation du drag&drop
      if button = mbLeft  then
         with sender as TAdvColumnGrid do
          BeginDrag(true);
    Mon problème se situe sur le doubleclic sur la grille
    Quand je double clic sur une ligne, j'ouvre une fenêtre popup modale.
    A la fermeture de cette fenêtre, le drag&drop s'active comme si on restais appuyé sur le bouton gauche


    par contre le clic sur la grille ne pose aucun problème. quand on presse le bouton le drag commence mais il est abandonné quand on le relache

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    En ne déclenchant pas le BeginDrag avec le double-clic ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      if (button = mbLeft) and (not ssDouble in Shift)  then
        // ...
    Pas testé !

    @+ Claudius

  3. #3
    Membre habitué
    Inscrit en
    Mars 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2003
    Messages : 281
    Points : 187
    Points
    187
    Par défaut
    oups, si je met ton code, le drag&drop ne s'éxécute plus du tout

    Je pensais que le mousedown s'éxécutait avant le doubleclic et donc, qu'il fallait annuler le drag&drop dans MyGridDblCick.

    edit : c'est juste un pb de parenthese :

    Le bon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (button = mbLeft) and not (ssDouble in Shift)   then
    with sender as TAdvColumnGrid do
          BeginDrag(true);
    Merci

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/01/2011, 15h04
  2. comment activer le drag and drop sur un mac?
    Par hammah dans le forum Apple
    Réponses: 3
    Dernier message: 25/11/2008, 18h30
  3. Comment simuler un drag and drop
    Par parp1 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 16/03/2007, 17h40

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