CTreeCtrl : SetItemData d'un std::string ???

CTreeCtrl : SetItemData d'un std::string ??? - C++ - Programmation

Marsh Posté le 16-06-2004 à 10:14:14    

Bonjour,
 
J'ai un soucis concernant un GetItemData() dans un CTreeCtrl.
En effet, dans une précedente fonction je fais :
 

Code :
  1. if (id_Ivar != -1)
  2. {
  3. typeVar = "idvar_" + id_Ivar;
  4. m_wndXMLTree.SetItemData(hItem, (DWORD)typeVar.c_str());
  5. }
  6. else if (id_Ifct != -1)
  7. {
  8. typeVar = "idfct_" + id_Ivar;
  9. m_wndXMLTree.SetItemData(hItem, (DWORD)typeVar.c_str());
  10. }
  11. else
  12. m_wndXMLTree.SetItemData(hItem, -1);


 
Le compilo ne bronche pas !
 
Par contre lorsque je fais :

Code :
  1. hItem = m_wndXMLTree.GetSelectedItem();
  2. CString rcv;
  3. rcv.Format("%s", m_wndXMLTree.GetItemData(hItem));
  4. AfxMessageBox(rcv);


 
Il m'affiche "".
 
Pour certains d'entre vous, la question doit paraitre simple, mais je bloque la dessus, surement par betise j'en conviens !
 
Comment recuperer ma chaine que j'ai mis en ItemData ?
 
MSDN associée :
http://msdn.microsoft.com/library/ [...] eeCtrl.asp
 
Merci :]

Reply

Marsh Posté le 16-06-2004 à 10:14:14   

Reply

Marsh Posté le 24-06-2004 à 13:06:33    

le truc c'est que dès la fin de cette ligne,  
 
m_wndXMLTree.SetItemData(hItem, (DWORD)typeVar.c_str());
 
le pointeur associé à ton hItem, il pointe dans le décor

Reply

Marsh Posté le 24-06-2004 à 13:17:21    

Exact, j'ai donc créé une structure dont je passe le pointeur à mon SetItemData, et ensuite, je le recupere sans aucun soucis.
 
Merci !

Reply

Marsh Posté le 24-06-2004 à 13:25:29    

? euh, non si tu veux un char*, il faut que tu le duplique amoins que tu puisse accéder à ta typeVar à tout instant

Reply

Marsh Posté le 28-06-2004 à 15:06:35    

Exact ! :) je me suis mal expliqué, merci !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed