Problème de récupération d'item dans une CtrlList [EVC++] - C++ - Programmation
Marsh Posté le 17-06-2002 à 17:12:00
Quel est-ton code pour récupérer l'item ?
Marsh Posté le 17-06-2002 à 17:19:04
Pour insérer les données :
Code :
|
Pour récupérer :
Code :
|
Marsh Posté le 17-06-2002 à 17:32:29
C normal, ton test n'est pas bon :
if( pNMLISTVIEW->iSubItem == 1)
{
}
comme tu as plus d'une colonne, iSubItem ne sera pas egale a 1!
Marsh Posté le 17-06-2002 à 17:46:15
Ben iSubItem correspond au numéro de la colonne (0, 1, 2), puisque si je met un truc du style :
Code :
|
J'obtiens bien les bons numéros de colonne.
Marsh Posté le 17-06-2002 à 18:01:32
Il y a un truc qui me parait bizarre dans ton code.
moi j'aurai mis
Code :
|
[cpp]
Comme tu as fais, je pense que les colonnes 2 et 3 vont etre decalees d'une ligne par rapport a la colonne 1.
Marsh Posté le 18-06-2002 à 10:57:48
try58, j'ai essayé ton code, mais toujours la même chose, je récupère l'item uniquement sur la première colonne. Pour les autres colonnes je récupère bien dans iSubItem le num de la colonne.
Help
Marsh Posté le 18-06-2002 à 11:09:35
raph77 a écrit a écrit : try58, j'ai essayé ton code, mais toujours la même chose, je récupère l'item uniquement sur la première colonne. Pour les autres colonnes je récupère bien dans iSubItem le num de la colonne. Help |
Montre le code de toute ta fonction qui te permet de remplir ta CListCtrl. Je pense que c'est a ce niveau qu'il y a un pb.
Marsh Posté le 18-06-2002 à 11:12:02
Code :
|
Ca doit etre plus ou moins ça
Marsh Posté le 18-06-2002 à 11:17:59
Code :
|
A quoi sert cette ligne de code ? C'est bien pour assigner la data à l'item (à la ligne en fait) ?
Marsh Posté le 18-06-2002 à 11:33:03
raph77 a écrit a écrit :
|
Tout a fait, ca permet de remplir ta CListCtrl avec des donnees (par exemple la valeur d'une variable) et non pas du texte.
Marsh Posté le 18-06-2002 à 11:42:58
C'est bien ce que je cherche à faire, avoir un pointeur sur une structure pour pouvoir accès à toutes les infos sur un item.
Pourquoi cela ne marche-t'il pas alors ??
Marsh Posté le 18-06-2002 à 12:00:32
try58 a écrit a écrit : Tout a fait, ca permet de remplir ta CListCtrl avec des donnees (par exemple la valeur d'une variable) et non pas du texte. |
Je me suis plante, ca ne sert pas a remplir la CListCtrl comme je le croyais!!
Marsh Posté le 18-06-2002 à 12:06:13
Est ce que ca te pose un probleme si quand tu cliques sur n'importe quelle colonne d'un item, tout la ligne est selectionnee?
Parce que tu peux utiliser ceci :
taliste.SetExtendedSytle(LVS_SELECTROW);
et je pense que tu recuperera la bonne data concernant ton item
Marsh Posté le 18-06-2002 à 12:11:53
Le problème c'est que dans ce cas, je ne peux pas effectuer un code différent selon la colonne cliquée non ?
Marsh Posté le 18-06-2002 à 12:16:59
raph77 a écrit a écrit : Le problème c'est que dans ce cas, je ne peux pas effectuer un code différent selon la colonne cliquée non ? |
SetItemData affecte une data pour toute la ligne. Donc avec GetItemData tu recupere la data de la ligne quel que soit la colonne cliquee!
Marsh Posté le 18-06-2002 à 12:18:46
Ah ok, mais dans ce cas là, les colonnes sont toujours distinctes ?
Je vais essayer ca tout de suite
Marsh Posté le 18-06-2002 à 12:31:58
Essaie d'utiliser GetItem() au lieu de GetItemData(), peut etre que ca te permettra de recuperer les infos concernant le subitem selectionne.
Marsh Posté le 18-06-2002 à 12:37:21
try58 a écrit a écrit : Est ce que ca te pose un probleme si quand tu cliques sur n'importe quelle colonne d'un item, tout la ligne est selectionnee? Parce que tu peux utiliser ceci : taliste.SetExtendedSytle(LVS_SELECTROW); et je pense que tu recuperera la bonne data concernant ton item |
Arf, il ne connait pas LVS_SELECTROW
Ou je peux avoir la liste de ce genre de parametres ?
Marsh Posté le 18-06-2002 à 12:38:52
try58 a écrit a écrit : Essaie d'utiliser GetItem() au lieu de GetItemData(), peut etre que ca te permettra de recuperer les infos concernant le subitem selectionne. |
Le problème se situe avant, puisque sur mon pNMLISTVIEW->iItem, j'ai -1 sauf dans la première colonne.
Marsh Posté le 18-06-2002 à 12:44:23
raph77 a écrit a écrit : Le problème se situe avant, puisque sur mon pNMLISTVIEW->iItem, j'ai -1 sauf dans la première colonne. |
Ta CListCtrl se remplit elle correctement ?
Marsh Posté le 18-06-2002 à 12:48:39
raph77 a écrit a écrit : Arf, il ne connait pas LVS_SELECTROW Ou je peux avoir la liste de ce genre de parametres ? |
je me suis plante c'est LVS_EX_FULLROWSELECT sinon le lien c'est
http://msdn.microsoft.com/library/ [...] styles.asp
Marsh Posté le 18-06-2002 à 12:55:47
Ah ok, effectivement cela fonctionne maintenant !!!
Merci beaucoup
Marsh Posté le 17-06-2002 à 17:10:50
J'ai une liste avec 3 colonnes. Je sais récupérer les évenements sur chacune des colonnes, mais sur les 2 dernières colonnes, je ne peux pas récupérer l'item (je récupère -1). Alors que ca marche parfaitement sur la première colonne...