MFC常用控件TreeControl,经常会遇到节点的遍历和查找。当插入了一个新节点时,就需要这么做,判断是否存在已有的子节点,如果存在,则不用重新插入。
实现方式如下:
场景,查找根节点下的子节点;
TreeControl的控制变量为m_tcCtrl根节点为HTREEITEM hRootItem,子节点为HTREEITEM hChildItem;要查找的内容为“子节点5”;
CString csStr = _T("子节点5");
hChildItem = m_tcCtrl.GetChildItem(hRootItem);
bool bFind = false;
while(hChildItem != NULL)
{
if(csStr.Compare(m_tcCtrl.GetItemText(hChildItem)) == 0)
{
bFind = true;
break;
}
hChildItem = m_tcCtrl.GetNextSiblingItem(hChildItem);
}
//TODO 查找后的事务