下面代码怎么得不到为结点设置的值'F0'呢?HTREEITEM hItem;
CString str;
str.Format("%s","F0");
hItem=m_tree.InsertItem("Root",TVI_ROOT);
m_tree.SetItemData(hItem,(DWORD)&str);
char* p=new char[100];
p=(char*)m_tree.GetItemData(hItem);
AfxMessageBox((LPCTSTR)p);

解决方案 »

  1.   

    HTREEITEM hCurrent = m_Tree.GetSelectedItem();
    HTREEITEM hCurrentRoot = m_TreeMap.GetRootItem(hCurrent);
    CString a;
    a = m_Tree.GetItemText(hCurrentRoot);
      

  2.   

    按照你的程序显示的是Root呀。
      

  3.   

    CString str;
    HTREEITEM hItem;
    HTREEITEM hTreeItem1;
    HTREEITEM hTreeItem2;
    for (int i=0;i < 5;i++)
    {
       str.Format(TEXT("item %d"), i);
       hItem = m_Tree.InsertItem(str);
       hTreeItem1=m_Tree.InsertItem("Item1",0, 1, hItem, TVI_LAST);
       hTreeItem2=m_Tree.InsertItem("Item2",0, 1, hItem, TVI_LAST);    if (hItem != NULL)
       {
      m_Tree.SetItemData(hItem, (DWORD) hItem);
       }
    } HTREEITEM hCurrent = m_Tree.GetSelectedItem();
    HTREEITEM hCurrentRoot = m_Tree.GetParentItem(hCurrent);
    CString a;
    a = m_Tree.GetItemText(hCurrentRoot);
    AfxMessageBox(a);