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

Flex Discussion :

Problème de Drag'n'Drop dans un SWF embarqué


Sujet :

Flex

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Problème de Drag'n'Drop dans un SWF embarqué
    Bonjour tout le monde,

    Je développe une application avec FlexBuilder2 sur Windows.

    J'ai un swf créé avec FlexBuilder2 qui utilise du Drag'n'Drop.
    Si je lance ce swf seul, le Drag'n'Drop marche très bien.

    Ensuite, j'ai mon application flex principale, qui charge le précedent swf. Mais alors là, le Drag'n'Drop déconne ; Je peux drag un objet, mais ensuite il reste coller au curseur si je lache la click gauche, alors qu'il devrait retourner à sa place. Pour vraiment lacher l'objet, je dois faire sortir le curseur de la fenêtre de l'application, ou lui faire perdre le focus en faisant click droit, click gauche par exemple.

    J'ai pensé que ça pouvait venir d'un conflit dans la gestion des événements entre le swf embarqué et l'application principale, mais je ne vois vraiment pas comment régler ce problème.

    Quelqu'un aurait déjà rencontré ce problème? Ou aurait la moindre idée d'ou cela pourrait venir? Merci

    Toute aide serait vraiment la bienvenue
    A bientôt

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Il semblerait que l'évenement "mouse up" ne soit pas détecté pendant la phase de drag, et du coup le drag ne se termine jamais.

    Pourtant, lorsque je ne suis pas en drag, le "mouse up" est bien détecté.

    Serait-ce possible que le drag, étant initié dans le swf intérieur, attend un "mouse up" dans ce swf, mais que quand je lache le click ce soit en fait l'application principale qui intercepte cet événement?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    En utilisant stage.addEventListener(MouseEvent.MOUSE_UP, mouseUp), l'événement "mouse up" est bien lancé durant la phase de drag, 3x d'ailleurs, ce que je trouve bizarre.

    Quoiqu'il en soit, maintenant que j'ai mon événement "mouse up", comment puis-je faire pour arréter le drag? (i.e que l'objet se détache de la souris, et retourne voir son conteneur parent)

    Je n'ai rien trouvé d'utile dans l'interface du DragManager. Juste un stopDrag() dans l'objet que je déplace (l'objet déplacé dérive de Box).

    Le code suivant n'arrête pas le drag:

    private function mouseUp(event:MouseEvent):void
    {
    if (DragManager.isDragging)
    {
    stopDrag();
    }
    }

    Des idées sur comment arrêter le drag dans ces conditions?
    Et également, des idées sur pourquoi l'événement "mouse up" est lancé 3x?

    Merci.

  4. #4
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    Bonjour,

    Normalement le stopDrag() se fait sur un élément (l'élément qui est "draggé"), essayez :
    monElement.stopDrag()

    Si ça ne marche pas, c'est qu'il y a effectivement un autre problème à resoudre avant ^^

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Dans l'exemple ci-dessus, la méthode fait partie de mon élément, donc ça revient bien à faire monElement.stopDrag().

    En résumé, il y a toujours un problème.

    J'ai testé avec flex3, et le résultat est le même

  6. #6
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    Avec simplement les éléments que tu donnes, je vois pas ce qui ne va pas.

    Peux-tu me donner un code minimale sur lequel le problème existe que je puisse tester ?

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/05/2010, 20h42
  2. Drag and drop dans un input
    Par kriekbellevue dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/12/2006, 20h55
  3. [VB.net] Drag and drop dans une Treeview
    Par gégécap dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/10/2006, 10h05
  4. [VB.NET]Drag and Drop dans une Listview
    Par gégécap dans le forum Windows Forms
    Réponses: 5
    Dernier message: 23/08/2006, 18h41
  5. Drag and drop dans un TTreeView
    Par BigBenQ dans le forum C++Builder
    Réponses: 3
    Dernier message: 07/10/2005, 14h57

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