树形视图(win32,非MFC控件)怎么插入一个子节点

树形视图(win32,非MFC控件)如何插入一个子节点
上代码。在WM_CREATE 消息中:

 
         hTree = CreateWindow ( TEXT("SysTreeView32"),TEXT(""), 
                    WS_VISIBLE|WS_CHILD|WS_VSCROLL|WS_DLGFRAME| TVS_HASBUTTONS|TVS_HASLINES|TVS_LINESATROOT,// +、根连线、子连线
0,0,0,0,
hwnd,0,hInstance,0);
         TVITEM         ti[5];
         TVINSERTSTRUCT ts[5];

 ti[0].mask         = TVIF_TEXT;
 ti[0].pszText      = TEXT("根条目");
 ts[0].hParent      = TVI_ROOT;
 ts[0].hInsertAfter = TVI_LAST;
 ts[0].item         = ti[0];
 SendMessage((HWND)hTree,TVM_INSERTITEM,0,(LPARAM)&ts[0]);

 for(int i=1;i<5;++i)
 {
 ti[i].mask    = TVIF_TEXT;
 ti[i].pszText = TEXT("子条目");

 ts[i].hParent      = ti[0].hItem ;
 ts[i].hInsertAfter = TVI_LAST;
 ts[i].item         = ti[i];

 SendMessage((HWND)hTree,TVM_INSERTITEM,0,(LPARAM)&ts[i]);
 }
                 return 0;


CreateWinodw 参数中的 4 个 0 请忽视,后面在 WM_SIZE 中调整树形视图窗口大小。运行结果(只有根条目插入了,子条目没插入)。跟踪是子条目的父结点句柄 ti[0].hItem 没有获取,问题是不知道怎么获取。

运行截图:

树形视图(win32,非MFC控件)怎么插入一个子节点

------解决方案--------------------
引用:
Quote: 引用:


hTree = CreateWindow ( L"SysTreeView32",L"",
                                WS_VISIBLE
------解决方案--------------------
WS_CHILD
------解决方案--------------------
WS_VSCROLL
------解决方案--------------------
WS_DLGFRAME
------解决方案--------------------

                                TVS_HASBUTTONS
------解决方案--------------------
TVS_HASLINES
------解决方案--------------------
TVS_LINESATROOT,// +、根连线、子连线
                                0,70,100,100,
                                hWnd,500,g_hInst,0);
         TVITEM         ti[5];
         TVINSERTSTRUCT ts[5];

         ti[0].mask         = TVIF_TEXT;
         ti[0].pszText      = TEXT("根条目");
         ts[0].hParent      = TVI_ROOT;
         ts[0].hInsertAfter = TVI_LAST;
         ts[0].item         = ti[0];
         HWND h = (HWND)SendMessage((HWND)hTree,TVM_INSERTITEM,0,(LPARAM)&ts[0]);

         int i;
         for(i=1;i<5;++i)
         {
             ti[i].mask    = TVIF_TEXT;
             ti[i].pszText = TEXT("子条目");

             ts[i].hParent      = h;//ti[0].hItem;
             ts[i].hInsertAfter = TVI_LAST;
             ts[i].item         = ti[i];