树形视图(win32,非MFC控件)怎么插入一个子节点
树形视图(win32,非MFC控件)如何插入一个子节点
上代码。在WM_CREATE 消息中:
CreateWinodw 参数中的 4 个 0 请忽视,后面在 WM_SIZE 中调整树形视图窗口大小。运行结果(只有根条目插入了,子条目没插入)。跟踪是子条目的父结点句柄 ti[0].hItem 没有获取,问题是不知道怎么获取。
运行截图:
------解决方案--------------------
上代码。在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 没有获取,问题是不知道怎么获取。
运行截图:
------解决方案--------------------