Ciao.
premessa:
codice:
LVITEM lvItem;
lvItem.mask = LVIF_TEXT;
lvItem.iItem = 0;
lvItem.iSubItem = 0;
lvItem.pszText = ("Sandra C. Anschwitz");
m_listControl.InsertItem(&lvItem);
ci sono vari tipi di LVITEM : L' LVITEMA e IL LVITEMW che differenze hanno?
poi:
codice:
HTREEITEM hi= m_Tree.InsertItem(_T("Seattle"), hWA, TVI_SORT);
DWORD_PTR pr=(DWORD_PTR)&lvItem;
m_Tree.SetItemData(hi,pr);
inserisco sotto il nodo seattle l'indirizzo di lvitem come sopra
quando clicco sul nodo seattle:
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;
il contenuto di p è l'indirizzo che ho effettivamente inserito in precedenza ma str da dei caratteri sbagliati.
perchè?
grazie.