begin process at 2012 05 30 06:25:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Récupérer une data ou mettre à jour une listbox?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Récupérer une data ou mettre à jour une listbox?

vendredi 12 novembre 2004 à 09:24:44 | Récupérer une data ou mettre à jour une listbox?

Frenchy62620

Membre Club
Voilà le prob..je suis sous VC++ 6

J'ai créé une listbox dans lequel j'ajoute bien des éléments..SendMessage(hdlist,LB_ADDSTRING,0,buff)

là pas de prob la listbox se met à jour..mais lorsque je veux récupérer le contenu avec SendMessage(hdlsit,LB_GETITEMDATA,numitem,0) je ne récupére rien...dasn la messagebox (pour moi il y a une erreur)

De même qd je veux mettre à jour la listbox je voudrais utiliser SENDMessage(hdlist,LB_SETITEMDATA,numitem,buff) au lieu de LB_DELETESTRING suivi LB_INSERSTRING ..mais la listbox ne se met pas à jour alors que la seconde solution oui mais elle n'est pas intéressante pour moi..

Je demande votre aide merci
vendredi 12 novembre 2004 à 09:44:13 | Re : Récupérer une data ou mettre à jour une listbox?

ymca2003

Réponse acceptée !
dans une listbox (et d'autres controles de listes), chaque item à son texte (celui de LB_ADDSTRING) et 32 bits de données personnelles associées. ces 32 bits peuvent êtres des infos complémentaires sur l'item ou un pointeur vers une structure qui contient ces infos sup. Faire LB_GETITEMDATA ou LB_SETITEMDATA ne modifie en rien l'affichage de la listbox (le texte sera toujours le même), mais seulement les données internes. Si tu veux renommer un élément, il n'y a pas le choix (sauf erreur de ma part), il faut faire LB_DELETESTRING suivit de LB_INSERTSTRING.

Pour récupérer le texte d'un item c'est LB_GETTEXT
vendredi 12 novembre 2004 à 10:54:34 | Re : Récupérer une data ou mettre à jour une listbox?

Frenchy62620

Membre Club

Merci de ta réponse..j'ai utilisé ta solution ca fonctionne parfaitement...mais pour précision intellectuelle dans quelle situation on utilise alors SETITEMDATA et GETITEMDATA..je vois pas bien l'intérêt
vendredi 12 novembre 2004 à 11:06:28 | Re : Récupérer une data ou mettre à jour une listbox?

ymca2003

Réponse acceptée !
par exemple si ta listbox contient des noms de personnes et que pour chaque personne tu as une structure de données contenant des infos dessus (nom, adresse, ...). Pour accéder à ces infos à partir du nom sélectionné, tu peux sauvegarder des données dans un tableau et y accéder par l'indice dans la liste. Maintenant, si ta liste est triée ou que son contenu évolue, tu sera obligé de mettre à jour en permanence ton tableau pour refleter l'odre de la listbox.

La solution est alors d'associer un pointeur vers la structure à chaque item de la liste. Ainsi, lors de l'ajout d'un nom dans la liste, tu crée également une nouvelle structure que tu asocie par SETITEMDATA. Pour récupérer les infos, c'est GETITEMDATA. A tout momment tu auras tes infos à partir d'un indice dans la listbox.

// ajout :
MASTRUCT* mastruct = new MASTRUCT;
int index=SendMessage(hlst, CB_ADDSTRING, 0, (LPARAM)nom);
SendMessage(hlst, CB_SETITEMDATA, index, (LPARAM)mastruct);
vendredi 12 novembre 2004 à 12:08:30 | Re : Récupérer une data ou mettre à jour une listbox?

Frenchy62620

Membre Club
Réponse acceptée !

Merci de ta réponse claire et précise..je vois mieux l'intéret maintenant



Cette discussion est classée dans : récupérer, sendmessage, listbox, jour, lb


Répondre à ce message

Sujets en rapport avec ce message

Listbox : Probleme de suppresion de selection [ par camel ] 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 su Supp dernier element listbox [ par LordBob ] Bonjour a tous,voila je cherche à supprimer le dernier élément de ma listbox, voici le code que j'utilise:// on cherche le nombre d'element dans la li listbox controle [ par JoebarGlut ] Salut, j'utilise l'api win32 et les controles preconstruis de l'api. Salut, Existe t il un message pour gerer les positions du genre LB_UPSTRING ?, LB Listbox ds borland c++ builder [ par rmaj ] Bonjour ! Voilà mon problème : sur une form j'ai un label qui affiche un prix, et une listbox contenant plusieurs chiffres (1, 2, 3, etc..). Un second récupérer les index d'une listbox a selection multiple [ par LaTatadu91 ] Bonjour,je pense que tout est dans le titre: je sais le faire pour un seul item selectionné( int nIndex = m_ctlListGroup.GetCurSel();) mais pas pour m Ajouter du texte dans une LISTBOX ? [ par kawito ] Bonjour,j'aimerais savoir si il est possible d'ajouter du texte dans une LISTBOX.j'ai bien lu quelque part, qu'il n'est possible que de faire des sele snifff, ça déconne !! mais pk ??? [ par Gendal67 ] Svp, je désespère!!! J'essaie de créer ue listebox et un boutton de telle sorte que qd je clik sur le bouton, il m'affiche par exemple l'item selectio ListBox MFC & SendMessage [ par yohann2004 ] Bonjour, Dans un projet de type MFC de visual je n'arrive pas a récupérer les données d'une ListBox avec la fonction SendMessage. Quelqu'un peut m'ai Mise à jour d'un fichier texte [ par Neo020585 ] Bonjour à tous.J'ai un fichier "liste.txt" qui contient une liste de chemin d'accès à des fichiers avec leur date de dernière modification :ex. : ...C Récupérer le contenu d'un checklistbox c++ builder [ par yuka_605 ] salut à tousje voudrais savoir comment on récupère la valeur d'un checklistbox lorsque la case est cochée.. avec c++ builder 6. Ce que je voudrais fai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,399 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales