Listbox : Probleme de suppresion de selection

cs_camel Messages postés 77 Date d'inscription dimanche 9 juin 2002 Statut Membre Dernière intervention 18 mai 2007 - 13 févr. 2004 à 00:53
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 13 févr. 2004 à 08:57
j'ai un bouton ds mon app qui doit supprimer les items selectionnés par l'utilisateur. La listbox est bien en selection multiple et mon code est le suivant :

case IDC_DELFILE:
int sel_items, a, *ibuf;
char buffer2[256];

// LB_GETSELCOUNT
sel_items = SendMessage(hFileList, LB_GETSELCOUNT, NULL, NULL);
if (sel_items == 0) break;
ibuf = new int[sel_items];

SendMessage(hFileList, LB_GETSELITEMS, sel_items, (LPARAM)ibuf);

for (a=0 ; a<sel_items ; a++)
{
SendMessage(hFileList, LB_DELETESTRING, ibuf[a], NULL);
}

delete ibuf;
break;

pourtant qd je clic sur le bouton ca supprime pas tous les items sélectionnés... jcomprends pas merci de m'aider !

2 réponses

frdestroyers27 Messages postés 93 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 19 avril 2008
13 févr. 2004 à 06:38
moi personellement j'essairais
a=0;
while(a!=sel_item)
{
SendMessage(hFileList, LB_DELETESTRING, ibuf[a],NULL);
a++;
}
a la place de ta boucle for...
Destroyers27
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 129
13 févr. 2004 à 08:57
Pour supprimer des éléments d'une liste, il faut partir de la fin de la liste et remonter jusqu'au début car sinon il y a décalage d'index, et donc, il est possible que les derniers éléments ne soient pas supprimés et que des éléments qui ne devaient pas etre supprimés le soient !

DarK Sidious

[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
0