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.