mfc中treeview遍历的问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 00:29:00
现在有一个treeview和两个edit control ,现在把edit1和edit2的内容添加到treeview中,如果treeview中没有edit1的内容,则将edit1内容作为树的根节点,edit2的内容作为他的子节点。如果果treeview中已经存在edit1的内容的节点,则将edit2的内容添加到该节点下,作为子节点。类似于windows资源管理器。求解决方法,搞了半天没弄出来。

void CTestDlg::Test()
{
CString szEdit1, szEdit2,tempText;
//取edit1, edit2内容
GetDlgItem(IDC_EDIT1)->GetWindowText(szEdit1);
GetDlgItem(IDC_EDIT2)->GetWindowText(szEdit2);
HTREEITEM hItem = m_MembersList.GetRootItem();
//遍历树查找edit1节点
while (hItem != NULL)
{
tempText = m_MembersList.GetItemText(hItem);
if (tempText == szEdit1) //找到edit1
{
//插入edit2作为edit1的子节点
hItem = m_MembersList.InsertItem(szEdit2, 0, 0, hItem);
return;
}
hItem = m_MembersList.GetNextSiblingItem(hItem);
}
//未找到eidt1节点
hItem = m_MembersList.InsertItem(szEdit1, 0, 0);
hItem = m_MembersList.InsertItem(szEdit2, 0, 0, hItem);
return;
}