List View Drag'n'drop

Résolu
K_3 Messages postés 4 Date d'inscription samedi 21 avril 2007 Statut Membre Dernière intervention 25 octobre 2008 - 19 oct. 2008 à 12:45
K_3 Messages postés 4 Date d'inscription samedi 21 avril 2007 Statut Membre Dernière intervention 25 octobre 2008 - 25 oct. 2008 à 14:30
Bonjour,

J'ai une listview qui est similaire à une listbox mais contenant plusieurs colonnes,
je me demandais comment je pourrai procéder pour que la listview
soit "triable" par l'utilisateur c-à-d qu'il puisse prendre le premier élément par exemple
et le déplacer en milieu de liste.

6 réponses

racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
19 oct. 2008 à 17:05
Salut,
Une solution consiterait à utiliser la notification LVN_BEGINDRAG engendrée par la listview quand on tente de glisser un item  avec la souris. Pendant le traitement de cette notification, on crée une DragImage en envoyant LVM_CREATEDRAGIMAGE à la listview puis on utilise les fonctions ImageList_BeginDrag() et ImageList_DragEnter(). A la fin de ce traitement on utilise SetCapture() pour capturer la souris. Un flag sera utilisé pour indiquer qu'il y'a une opération de drag en cours.
Pendant le traitement du message WM_MOUSEMOVE on utilise la fonction ImageList_DragMove(). On finit par traiter le message WM_LBUTTONUP en utilisant ImageList_DragLeave(), ImageList_EndDrag() et ImageList_Destroy(). On relâche ensuite la capture souris avec ReleaseCapture(). A partir de là, on ajoute un nouvel élément à l'emplacement pointé par le curseur de la souris, on lui transmet le contenu de l'élément sélectionné puis on supprime ce dernier.
Pour les détails des fonctions et messages se référer à la MSDN.
3
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
22 oct. 2008 à 00:12
Je viens de déposer un exemple complet sur le site:
Réarranger les lignes d'une ListView à la souris
3
K_3 Messages postés 4 Date d'inscription samedi 21 avril 2007 Statut Membre Dernière intervention 25 octobre 2008
19 oct. 2008 à 17:41
hmm ouép je vois, je vais essayer ça, Merci
0
jeffy131 Messages postés 123 Date d'inscription samedi 14 juillet 2007 Statut Membre Dernière intervention 29 mars 2009 1
20 oct. 2008 à 14:19
cf les ng apis fr.comp.os.ms-windows.programmation,
comp.os.ms-windows.programmer.win32, etc...
 code C  posté maintes fois depuis 15 ans
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
20 oct. 2008 à 16:35
jeffy131 >> Si tu ne comprends pas le problème posé ou si tu ne connais pas la réponse, ce n'est pas la peine de donner des liens inutiles.
0
K_3 Messages postés 4 Date d'inscription samedi 21 avril 2007 Statut Membre Dernière intervention 25 octobre 2008
25 oct. 2008 à 14:30
Excellent, merci du coup de main :)
0
Rejoignez-nous