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 :

Utilisation du composant "T_FileDropSource"


Sujet :

Composants VCL Delphi

  1. #1
    Membre confirmé Avatar de bionicleman
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut Utilisation du composant "T_FileDropSource"
    Bonjour,
    j'ai téléchargé aujourd'hui le composant, du site Phidels, T_FileDropSource;
    Ce composant recrée un drag'n'drop, qui pourrait se faire d'un programme delphi vers une autre application et vis versa.
    C'est le "vis versa" qui m'intéresse : je voudrais, de mon programme vers mon player afin de pouvoir utiliser sa playlist (mon programme charge dans une ListBox une suite de fichiers).

    J'ai installé le composant.
    Par contre, je n'arrive pas à l'utiliser : (voici les propriétés de mon composant)

    Je n'arrive pas à ajouter des fichiers à sa propriété "file"
    Pourtant, lors de l'affichage de mes fichiers dans la listbox je les ajoutes aussi dans la liste des fichiers avec cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Begin
          Repeat
            If (Info.Attr And faDirectory)=0 Then
            begin
              Form2._FileDropSource1.Files.Add(Info.FindData.cFileName); //ajout du fichier en cours dans les files
              form2.ListBox1.Items.Add(Info.FindData.cFileName);  //affichage des fichier dans le listbox
            end;
          Until FindNext(Info)<>0;
        FindClose(Info);
        End;
    Auriez vous une idée ou une astuce afin que je puisse réaliser mon drag'n'drop ?

    Merci d'avance =)

  2. #2
    Membre confirmé Avatar de bionicleman
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut
    Bonjour,
    J'ai encore planché sur mon code et j'ai du nouveau.
    J'ai réussi à faire marcher mon drag'n'drop, par contre, pour la liste des "files" du composant, je ne sais pas vraiment comment m'y prendre et à quel moment.

    J'ai réussi à ajouter de nouveaux fichiers dans la liste "files" avec la ligne suivante :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    If FindFirst(chemin+'*.*',faAnyFile,Info)=0 Then     
    Begin       
      Repeat        
        If (Info.Attr And faDirectory)=0 Then         
          begin           
          //************************************
            Form2._FileDropSource1.Files.Add(Chemin+Info.FindData.cFileName);
    //j'ajoute mes fichiers grâce a cette ligne.
            Form2.ListBox1.Items.Add(Info.FindData.cFileName); //affichage des fichier
      //************************************
          end;
          Until FindNext(Info)<>0;
        FindClose(Info);
        End;
    Par contre, cela me drag toute ma liste de fichiers (tous ceux contenus dans ma listbox).

    Si vous avez une idée de comment m'y prendre, j'écouterais attentivement

    Merci.

  3. #3
    Membre éclairé Avatar de user 56gt8
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Par défaut
    Il faut tester la propriété 'selected' de la liste box.Il faut également activer la propriété multiselect de la listbox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    For i:=0 to listbox.items.count-1 do if  listbox.items.item[i].selected then
    begin
      // le code pour ajouter à la liste d'éléments drag-able
    end;
    Sinon pour le dragdrop il y a aussi le composant 'YBdragndrop' qui est pas mal.
    via une petite adaptation de la source il marche sur les derniers delphi.

  4. #4
    Membre confirmé Avatar de bionicleman
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut
    Ah !
    Je m'disais bien que cette propriété existait

    Voilà, j'ai résolu mon soucis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    procedure TForm2.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
      i: integer;
    begin
    Form2._FileDropSource1.Files.Clear;
      For i:=0 to listbox1.items.count-1 do
        if listbox1.selected[i] then
        begin
          Form2._FileDropSource1.Files.Add(Chemin+listbox1.items.Strings[i]);
        end;
    end;
    Voili voilou !
    Merci à toi user

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

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