Deplacer les items d'une listbox vers une autre par drag and drop

Soyez le premier à donner votre avis sur cette source.

Vue 11 264 fois - Téléchargée 1 173 fois

Description

- Les items sont insérés ou ajoutés, selon l'emplacement choisi dans la ListBox de destination.
- La multi-sélection est autorisée.
- Les items sont déposés dans l'ordre où ils ont été trouvés.
- Le glisser-déposer fonctionne dans les 2 sens.
- Le glisser-déposer à l'intérieur de la même ListBox est supporté.

L'interface graphique permet de tester toutes les possibilités.

Suite à une question posée sur le forum de delphifr.com :
http://www.delphifr.com/infomsg_LISTBOX-DRAG-DROP-MULTIPLE_1053999.aspx?p=1

La question a été posée par morinxav2.
La suggestion de Caribensila d'utiliser une TStringList est finalement à retenir dans la mesure où l'on veut pouvoir insérer les items dans l'ordre où ils se trouvaient dans la liste de départ.
Donc merci à vous deux, c'est un peu un travail collectif.

N'hésitez pas à signaler tout bug ou amélioration, ça fait avancer le schmilblic.

Source / Exemple :


Dans le zip.

Conclusion :


Fait sous D4 Pro. Testé OK sous D7.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Delphiphi
Messages postés
13
Date d'inscription
vendredi 1 décembre 2006
Statut
Membre
Dernière intervention
25 novembre 2008
-
J'ai m... pendant 2-3 heures avant de tomber sur ton code.
Bravo ! Excellent ! C'est exactement ce dont j'avais besoin ;-)
Juste une petite chose : serait-il possible une fois qu'un item a été déplacé de ListBox1 vers ListBox2 de la laisser visible dans la ListBox1 mais en grisé pour montrer qu'on ne peut plus d'envoyer vers la ListBox2
japee
Messages postés
1708
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
5 octobre 2019
1 -
amiga68 > lol !
J'avais même pas fait gaffe.
Comme quoi, quand on est pris par la programmation, on ne pense plus qu'à ça... ^^
amiga68
Messages postés
55
Date d'inscription
dimanche 23 février 2003
Statut
Membre
Dernière intervention
21 décembre 2009
-
:) Japee

Merci pour le code !!! Me servira çui-là !

Ps Evite de mettre des phrases telles que "Ça marche très bien avec des objets, mais également si l'on ne manipule que des strings.", si mon épouse passe j'aurai l'aire con à lui expliquer que c'est de la programmation !
japee
Messages postés
1708
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
5 octobre 2019
1 -
Hello Delphiprog,

J'avais pourtant lancé une recherche pour être sûr de ne pas poster en double... et je n'avais pas vu ton code.
Je vais étudier tout ça tranquillement, car là (Bruni^^) j'étais passé à autre chose et il faut que je me replonge dans le sujet.
Je note au passage le "DeleteSelected". Diantre, je veux que ça allège le code, je ne sais pas comment je suis passé à côté...
Joyeuses Pâques à toi aussi ^^

A +
Ouais, et un 31 décembre siouplait !
Juste un truc, pourquoi TObject et pas TCustomListBox ??

Tiens, j'en profite pour rebondir là-dessus: "ça permet de créer des librairies perso bien plus performantes que celles fournies par Borland (je déconne)"
=> ça m'est arrivé de créer des procédures plus rapides que les APIs de Windows (avec le TOptimisedBitmap notamment).
Et, si tu veux, on se fait un VCL perso avec que des composants utiles et pratiques (pcq ya des trucs dont je ne me sers jamais) qui serait de plus thread-safe, performante et jolie. Ben quoi, on peut rêver, non ?

Joyeuses fêtes à toi aussi et à tous ceux qui passeront par ici.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.