我写一个遍历树的程序,已经知道各个项的HTREEITEM, 但不知道怎么得到这个HTREEITEM的pszText,谢谢。

解决方案 »

  1.   

    TVITEM tvItem = {0};
    TCHAR szText[MAX_PATH] = {0};
    tvItem.mask = TVIF_TEXT;
    tvItem.pszText=szText;
    tvItem.hItem = hItem;
    TreeView_GetItem ( hWndTv, &tvItem );
      

  2.   

    To:flyelf(空谷清音) 下边是我的程序将得到的pszText显示出来可是都是空,其中hParent是Handle to the tree-view control经过验证没有错(验证的方法是用插入一个tvitem后显示正常)
    TVITEM tvi = {0};
    TCHAR szText[MAX_PATH] = {0}; tvi.mask = TVIF_TEXT  ;
    tvi.pszText = szText;
    tvi.hItem = hTreeWnd[0][1] ; if (TreeView_GetItem(hParent, &tvi))
    MessageBox(NULL, tvi.pszText, "GET", MB_OK);
    请问,谢谢!
      

  3.   

    下边这段程序插入一个项的时候都是正常的,但是得到它的pszText就是空,不知道什么原因,调试的时候TVIF_IMAGE的值都能得到
    TVITEM tvi = {0};
    TCHAR hostNm[MAX_PATH]={0};
    HTREEITEM hfindItem;
    TVINSERTSTRUCT tvs; tvs.hInsertAfter = TVI_LAST; 
    tvi.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE ;
    tvi.pszText = szHostAdd;
    tvi.iImage = 1;
    tvi.iSelectedImage = 1;
    tvs.hParent = hTreeWnd[0][0];
    tvs.item = tvi;
    hfindItem = TreeView_InsertItem(hParent, &tvs);

    tvi.mask = TVIF_TEXT ;
    tvi.pszText = hostNm;
    tvi.hItem = hfindItem;

    if(TreeView_GetItem(hParent, &tvi))
    MessageBox(NULL, tvi.pszText, "GET", MB_OK);
      

  4.   

    其中的hTreeWnd[0][0]是:
            tvs.hInsertAfter = TVI_LAST; /* make tree in order given */
            tvi.mask = TVIF_TEXT | TVIF_IMAGE;
            tvi.pszText = "CTROL GROUP ONE";
            tvi.iImage = 0;
            tvs.hParent = TVI_ROOT;
            tvs.item = tvi;
            hTreeWnd[0][0] = TreeView_InsertItem(m_hwnd, &tvs);
    显示正常的,各位高手帮帮忙啊