DÉPLACER LES ITEMS D'UNE TLISTVIEW PAR DRAG AND DROP

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 23 févr. 2008 à 11:55
cs_krzysiu Messages postés 22 Date d'inscription mardi 13 juillet 2004 Statut Membre Dernière intervention 3 septembre 2011 - 14 mai 2009 à 18:15
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/45818-deplacer-les-items-d-une-tlistview-par-drag-and-drop

cs_krzysiu Messages postés 22 Date d'inscription mardi 13 juillet 2004 Statut Membre Dernière intervention 3 septembre 2011
14 mai 2009 à 18:15
c'est une bonne question, je ne connais pas ces fonctions. je ne peux vous répondre. Par contre une explication c'est pas de refus.
cs_JoSyl Messages postés 9 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 19 avril 2010
14 mai 2009 à 17:16
J'ai une question... Est-ce que ce serait mieux de mettre un "DeginUpdates" et "EndUpdates" dans la procedure "DragDrop" lors de la reconstruction des items dans le ListView ou bien étant donnée que c'est dans la procedure DragDrop justement, ce n'est pas nécessaire ??
cs_krzysiu Messages postés 22 Date d'inscription mardi 13 juillet 2004 Statut Membre Dernière intervention 3 septembre 2011
25 févr. 2008 à 21:54
Merci Caribensila,
Ben voilà, la barre est placée bien haut, il va falloir m’accrocher pour ma prochaine contribution.
Merci encore pour ces posts d’encouragement.
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
25 févr. 2008 à 00:59
« Ici, quand un code est médiocre, il ne faut surtout pas le dire sous peine de se faire incendier »
Heureusement qu'il y a quelques incombustibles... :)

« il fallait qu'à mon tour je donne quelque chose »
Pour ce premier post, y'a rien à redire. Ca vaut 10/10 pour la qualité, pour la motivation participative et pour encourager l'auteur à récidiver.
On sent bien que ce code a été travaillé pour servir de modèle et ça nous change des trucs balancés négligemment sur le site dès que ça semble tourner + ou - rond

Merci pour l'effort.
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
24 févr. 2008 à 10:20
Ici, quand un code est médiocre, il ne faut surtout pas le dire sous peine de se faire incendier.
Mais quand il est bon, alors il ne faut pas hésiter à le souligner. Et là, pour moi, c'est le cas. Il y a le style et la manière, le tout agrémenté d'un français impeccable.
C'est tellement rare que je tenais à le mentionner.
cs_krzysiu Messages postés 22 Date d'inscription mardi 13 juillet 2004 Statut Membre Dernière intervention 3 septembre 2011
23 févr. 2008 à 22:24
Merci, Delphiprog je suis très honoré.
Depuis le temps que je pompe des idées sur ce site, il fallait qu’à mon tour je donne quelque chose. Ce qui n’est pas évident, car il y a beaucoup de sujets traités et résolus.

J’espère que ce bout de code permettra à d’autres d’avancer.

Merci encore pour le TObjectList, je ne connaissais pas, je vais me coucher moins bête ce soir.
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
23 févr. 2008 à 12:07
Très bon code, clair et limpide.

A la place d'un TList dans ListView1DragDrop, j'ai utilisé un TObjectList, ce qui permet d'alléger le code au moment de libérer les objets de la liste de manière automatique :
List := TObjectList.Create(true);
try
//le reste identique
finally
//Libération automatique des objets possédés
List.Free;
end;

En indiquant true lors de l'appel du constructeur de TObjectList, on le rend responsable de la libération des objets qu'il détient.
NB : ne pas oublier d'ajouter Contnrs dans la liste des uses pour pouvoir utiliser TObjectlist.
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
23 févr. 2008 à 11:55
ATTENTION : le fichier source du projet possède encore le nom PROJECT1 et, de ce fait, il n'est pas possible de compiler ce code source sans avoir modifié en :
program ListViewDragAndDrop;
Rejoignez-nous