DRAG DROP DE FICHIERS DEPUIS UNE LISTVIEW

Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 - 21 juil. 2004 à 20:56
cs_magicgus Messages postés 206 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 14 septembre 2011 - 16 sept. 2010 à 13:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/24771-drag-drop-de-fichiers-depuis-une-listview

cs_magicgus Messages postés 206 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 14 septembre 2011
16 sept. 2010 à 13:28
Un grand merci, j'étais justement bloqué à cause de ce problème, ça marche nickel !
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 juin 2009 à 15:48
Ce n'est pas le fichier qui est transmis, mais son nom, donc il ne représente pas forcement un fichier local.
Regarde comment fonctionne la source.

"... ils seront télécharger sur ,, " : ???
Si tu glisses un fichier vers le bureau Windows, c'est lui qui gèrera l'arrivée, pas l'émetteur.
Si tu as une liste de fichier, qu'ils soient locaux ou autre, c'est un objet de ta forme --> A toi de gérer l'arrivée de fichier dans cette liste (ou tout autre objet) par un Drop.
CrazyMan19 Messages postés 163 Date d'inscription samedi 2 août 2003 Statut Membre Dernière intervention 4 novembre 2013 15
16 juin 2009 à 12:56
Non ,
alors dans ton source il copie un fichier local ,, mais moi je veux avoir à la place de la liste des fichiers locaux une liste des fichiers distant et quand je les glisse vers le bureau par exemple ils seront télécharger sur ,,
tout simplement c'est comme le truc de FILEZILLA glisser déplacer des fichiers distant à partir de l'application vers votre poste ,,,
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
12 juin 2009 à 11:20
Salut CrazyMan19
L'action du Drag est gérée par la source (ici, notre code), mais l'action du Drop (lacher) est gérée par l'objet de destination.
Si tu Drop dans un logiciel du commerce : Non
Si tu Drop dans un programme VB à toi : Oui, avec OLEDragDrop de l'objet cible, "Data.Files.Item(1)" te donnera cette info
CrazyMan19 Messages postés 163 Date d'inscription samedi 2 août 2003 Statut Membre Dernière intervention 4 novembre 2013 15
12 juin 2009 à 10:42
Salut ,
un code très intéressant , mais ce que je voulais savoir est ce qu'il y'a une manière pour connaitre le chemin ou le dossier où l'utilisateur a déplacer les fichier , parce que ce que je veux faire c'est de glisser déplacer un fichier d'une liste qui contient des fichiers d'un FTP , j'espère que j't' claire et que je trouve une solution chez vous ,,,

Merci
hackademius Messages postés 172 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 24 février 2008
2 oct. 2006 à 14:47
Excelent ! depuis le temps que je cherchait !! merci.
Msdn peut aller se coucher !! au moin ici y'a tout !
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
21 sept. 2004 à 16:48
J'ai cherché un moment comment COPIER (ou autre) impérativement une source vers l'explorateur. En effet, le code déposé ici pose apparement des problèmes avec mon service Pack de Windows XP (c''est peut être autre chose mais je ne sais pas quoi lol)

Donc le code corrigé (si on peut dire)

Private Sub ListView1_OLEStartDrag(Data As MSComctlLib.DataObject, AllowedEffects As Long)
Dim R As Long
Data.Clear 'On vide Data par précaution avant de démarrer la boucle
For R = 1 To ListView1.ListItems.count
If ListView1.ListItems(R).Selected Then
Data.Files.Add ListView1.ListItems(R).Text
End If
Next R
Data.SetData , 15 'On défini ici le Type de données traitées
'Ici on défini le type de drag & drop
'AllowedEffects = vbDropEffectNone '(Valeur 0 - La cible déposer ne peut accepter les données.)
'AllowedEffects = vbDropEffectCopy '(Valeur 1 - La source sera copiéé. Les données d'origine ne sont pas affectées.)
'AllowedEffects = vbDropEffectMove '(Valeur 2 - La source glissée sera déplacée.)
AllowedEffects = vbDropEffectCopy
End Sub

Le paramètre important si l'en est ici c'est AllowedEffects car il permet de définir le mode de gestion des données contenues dans Data. J'ai commenté un peu pour que cela soit clair :)

Bonne prog

PS : 7/10
cs_PaTaTe Messages postés 2126 Date d'inscription mercredi 21 août 2002 Statut Contributeur Dernière intervention 19 février 2021 2
20 sept. 2004 à 23:34
le code est nikel mais chez moi ca deplace les fichier (or je ne veux en aucun cas deplacer mais copier ... Une solution ?
FeelCode Messages postés 278 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 27 avril 2006 1
24 juil. 2004 à 16:14
Ha ce vieux Jack comment va ;)

Sa marche bien et sa peux servire rien a dire :) 10/10
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 4
21 juil. 2004 à 20:56
Bien vue, c'est une bonne source.
Rejoignez-nous