Ciao.
premessa:
ci sono vari tipi di LVITEM : L' LVITEMA e IL LVITEMW che differenze hanno?codice:LVITEM lvItem; lvItem.mask = LVIF_TEXT; lvItem.iItem = 0; lvItem.iSubItem = 0; lvItem.pszText = ("Sandra C. Anschwitz"); m_listControl.InsertItem(&lvItem);
poi:
inserisco sotto il nodo seattle l'indirizzo di lvitem come sopracodice:HTREEITEM hi= m_Tree.InsertItem(_T("Seattle"), hWA, TVI_SORT); DWORD_PTR pr=(DWORD_PTR)&lvItem; m_Tree.SetItemData(hi,pr);
quando clicco sul nodo seattle:
il contenuto di p è l'indirizzo che ho effettivamente inserito in precedenza ma str da dei caratteri sbagliati.codice:void CTesttreeDlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult) { LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR); HTREEITEM hItem= pNMTreeView->itemNew.hItem; DWORD_PTR p = m_Tree.GetItemData(hItem); CString str; if(p!=0) str= ((LVITEMA*)p)->pszText;
perchè?
grazie.

Rispondi quotando