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 :

[Composant] Drag & Drop de plusieurs valeurs à la fois


Sujet :

Composants VCL Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 46
    Points : 38
    Points
    38
    Par défaut [Composant] Drag & Drop de plusieurs valeurs à la fois
    Bonjour,

    j'ai deux composants de type ListBox (un FileListBox et un ListBox).
    La ListBox accepte les éléments (un par un) venant de la FileListBox, comme décrit dans la plupart des tutoriels ( Par Exemple: http://delphipage.free.fr/glissdepl.html ).

    Ce que je voudrais faire, c'est pouvoir glisser plusieurs éléments de la FileListBox (MultiSelect := TRUE) vers la ListBox en une seule fois!

    Quelqu'un sait-il comment faire?

    Merci d'avance

    Slowpoke

  2. #2
    Membre habitué

    Profil pro
    Inscrit en
    Avril 2002
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 99
    Points : 126
    Points
    126
    Par défaut
    tu dois mettre ce code dans le dragDrop de ton listbox (pas testé, de tête)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      for i := 0 to FileListBox.Items.Count - 1 do
        if FileListBox.Selected[i] then
          ListBox.Items.Add(FileListBox.Items[i]);

  3. #3
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Je viens de tester ce code qui marche ... meme si peut etre un peu bourrin

    Evenement OnDragOver de l'objet recepteur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Accept := True;
    for i := 0 to TListBox(Source).Items.Count - 1 do
      if TListBox(Source).Selected[i] then
      Begin
          TListBox(Sender).Items.Add(TListBox(Source).Items[i]);
          TListBox(Source).Selected[i] := False;
      End;
    Il faut caster la source et la destination (sender) par TListBox pour prendre en compte tous types de Liste (TFileListBox et/ou TListBox)

    ce code est generique : Il marche pour un glisser deplacer de tous les composants liste presents sur la form dan le ou les composants qui pointent leur evenement OnDragOver sur cette methode ^^

    PS : MErci de m'avoir fait decouvrir le Drag and drop ;pp je connaissais pas .. alors soyez indulgeant si c pas tip top ^^

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 46
    Points : 38
    Points
    38
    Par défaut
    Merci beaucoup ça fonctionne très bien!!

    @+

    Slowpoke

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

Discussions similaires

  1. drag and drop entre plusieurs reoderlist
    Par eman dans le forum ASP.NET Ajax
    Réponses: 0
    Dernier message: 04/04/2012, 19h56
  2. drag and drop avec plusieurs éléments
    Par yohan0262 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 17/09/2008, 12h57
  3. Réponses: 10
    Dernier message: 27/05/2008, 15h09
  4. Drag and Drop vers plusieurs Edit
    Par greg778 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/05/2005, 08h50

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