Recuperation dans listcontrol

cs_flatou Messages postés 92 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 22 février 2006 - 19 nov. 2003 à 21:44
cs_flatou Messages postés 92 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 22 février 2006 - 21 nov. 2003 à 18:16
Resalut a tous
j'ai créé un projet ou j'ai ajouté un ListControl et qui a plusieurs colonnes (ajoutés avec InsertColumn).
Maintenant j'aimerais savoir comment recuperer une ligne entiere ou une colonne entiere. j'ai cherché sur msdn, il y a bien la fonction FindItem qui renvoi l'index de l'element trouvé, ms comment recuperer la ligne entiere ou se trouve cet element ou toute la colonne ?
merci pour votre aide

9 réponses

garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
20 nov. 2003 à 08:11
Utilise GetFirstSelectedItemPosition() pour avoir l'index de l'item sélectionné
Et GetItemText(ligne, colonne) pour obtenir le contenu de n'importe quelle case de ton tableau

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
0
cs_flatou Messages postés 92 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 22 février 2006
20 nov. 2003 à 18:31
Le probleme est que la listcontrol n'est pas visible, donc on ne peut pas cliquer dessus. Mais je retrouve l'index de l'item avec FindItem, et cet item peut se situer dans n'importe quelle colonne
comment sont classé les items ?ils ont tous un entier unique (1, 2, 3... ?) ou autre chose ?
0
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
20 nov. 2003 à 18:42
De quoi?
Qu'elle soit visible ou non tu peux récupérer le numéro de ligne sélectionné avec GetFirstSelectedItemPosition. Mais si tu tiens à utiliser FindItem, c'est toi qui voit

Le classement des items est relativement compliqué parceque en théorie chacun peut le faire à sa sauce
Mais bon en général la ligne la plus haute est indexée à 0, la suivante à 1, ...
Et pour les colonnes : la permière c'est0, la deuxieme c'est 1, ...
Donc tu utilises GetItemText comme je te l'ai dit

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
0
cs_flatou Messages postés 92 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 22 février 2006
20 nov. 2003 à 19:12
alors comment je fais par exemple, pour recuperer toute la ligne numero 3 quand je n'ai que l'index d'un item qui est a la ligne 3 colonne 5 ?ce n'est qu'un exemple
comment faire pareil mais pour la colonne ?

merci de te pencher autant sur mon probleme
0

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

Posez votre question
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
20 nov. 2003 à 19:28
Bah si tu sais sur quel ligne tu te trouve tu n'as qu'à prendre un à un chaque élément :
ligne 3 colonne 1,
ligne 3 colonne 2,
ligne 3 colonne 3,
ligne 3 colonne 4,
ligne 3 colonne 5,
...

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
0
cs_flatou Messages postés 92 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 22 février 2006
20 nov. 2003 à 20:36
ah oui en effet, j'ai ete un peu con la LOL
si j'ai un probleme je reposterai un message :)
merci
0
cs_flatou Messages postés 92 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 22 février 2006
20 nov. 2003 à 21:00
Voila le code que j'utilise, avec vc++ et les MFC pour trouver un item :

LVFINDINFO info;
int nIndex;

info.flags = LVFI_STRING;
info.psz = "Text";

if((nIndex=m_List.FindItem(&info, -1)) != -1)
{
m_Edit = nIndex; // Affichage dans edit box
UpdateData(FALSE);
}
else { MessageBox("Pas de resultat"); }

m_List etant la variable assosié a la listcontrol et m_Edit la variable associé a un editbox
Or qd j'execute, le programme donne la messagebox alors que le listcontrol est correctement rempli, et il y a bien "Text" dans plusieurs colonne a plusieurs endroits.
qu'est-ce qui ne va pas ?
0
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
21 nov. 2003 à 15:50
Tu as pensé à mettre le UpdataData ?
On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
0
cs_flatou Messages postés 92 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 22 février 2006
21 nov. 2003 à 18:16
un UpdateData ou ?car ds mon code il y est...
0
Rejoignez-nous