我这样遍历treectrl为何不对?
HTREEITEM CMydic::FindTree(HTREEITEM root,CString key)
{
while(root)
{
if(m_tree.GetItemText(root)==key)
{
return root;
}
else if (m_tree.ItemHasChildren(root))
{
root = m_tree.GetChildItem(root);
while (root != NULL)
{
if(m_tree.GetItemText(root)==key)
{
return root;
}
else
{
root = m_tree.GetNextSiblingItem(root);
}
}
}
else
{
root = m_tree.GetNextSiblingItem(root);
}
}
return NULL;
}
问题点数:0、回复次数:1Top
1 楼wang_bluebird(bluebird)回复于 2004-12-03 14:20:41 得分 0
我自己的修改
HTREEITEM CMydic::FindTree(HTREEITEM root,CString key)
{
while(root)
{
if(m_tree.GetItemText(root)==key)
{
return root;
}
else if (m_tree.ItemHasChildren(root))
{
HTREEITEM hChild = m_tree.GetChildItem(root);
while (hChild != NULL)
{
if(m_tree.GetItemText(hChild)==key)
{
return hChild;
}
else
{
hChild = m_tree.GetNextSiblingItem(hChild);
}
}
root = m_tree.GetNextSiblingItem(root);
}
else
{
root = m_tree.GetNextSiblingItem(root);
}
}
return NULL;
}
Top




