测试目录结构如下:D:\------1------2------3
------aaa---bbb
------ccc(对D盘测试,其中有文件夹1,包含2,2包含3......)
请看以下代码:
void CMy8Dlg::OnButton1()
{
// TODO: Add your control notification handler code here
HTREEITEM hitem=NULL;
CString str;
hitem=m_tree.GetSelectedItem();
TreeVisit(hitem);
}void CMy8Dlg::TreeVisit(HTREEITEM hItem)
{
CString str;
HTREEITEM temp;
temp=m_tree.GetNextItem(hItem,TVGN_CHILD);
str=m_tree.GetItemText(temp);
if(temp!=NULL)
TreeVisit(temp);
temp=hItem;
while((temp=m_tree.GetNextItem(temp,TVGN_NEXT))!=NULL );
{
TreeVisit(temp);
}
}
问题:当递归至当前节点为文件夹"1"时,GetNextItem(hItem,TVGN_CHILD)返回值为空;
就是说当前节点为D盘时调用GetNextItem(hItem,TVGN_CHILD)没有问题,但是到了下一级就有问题了. 请问这是为什么???
------aaa---bbb
------ccc(对D盘测试,其中有文件夹1,包含2,2包含3......)
请看以下代码:
void CMy8Dlg::OnButton1()
{
// TODO: Add your control notification handler code here
HTREEITEM hitem=NULL;
CString str;
hitem=m_tree.GetSelectedItem();
TreeVisit(hitem);
}void CMy8Dlg::TreeVisit(HTREEITEM hItem)
{
CString str;
HTREEITEM temp;
temp=m_tree.GetNextItem(hItem,TVGN_CHILD);
str=m_tree.GetItemText(temp);
if(temp!=NULL)
TreeVisit(temp);
temp=hItem;
while((temp=m_tree.GetNextItem(temp,TVGN_NEXT))!=NULL );
{
TreeVisit(temp);
}
}
问题:当递归至当前节点为文件夹"1"时,GetNextItem(hItem,TVGN_CHILD)返回值为空;
就是说当前节点为D盘时调用GetNextItem(hItem,TVGN_CHILD)没有问题,但是到了下一级就有问题了. 请问这是为什么???
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货