为什么树中节点遍历后,只能将根节点收起再展开,才可以点其他的节点,如何解决啊

V_Dream 2006-09-05 05:35:50
void CMutiTreeDlg::ExpandNode(CTreeCtrl *pTreeCtrl, HTREEITEM hItem)
{
HTREEITEM hti = NULL, htiChild = NULL;
for(int i=0; ; i++)
{
if( i == 0 )
{
hti = pTreeCtrl->GetChildItem(hItem);
}
else
{
hti = pTreeCtrl->GetNextItem(hti,TVGN_NEXT);
}

if(hti == NULL)
{
return;
}

//判断当前节点
if ( hti == NULL)
{
return ;
}
else
{
if(pTreeCtrl->GetItemState(hti,TVIS_EXPANDED) != TVIS_EXPANDED)
{
pTreeCtrl->SetItemState(hti,TVIS_EXPANDED,TVIS_EXPANDED);
}
ExpandNode(pTreeCtrl, hti);
}
}
}


这个代码是将树中的节点全部展开的

但是展开后,却不能直接点其他的节点
这是为什么啊 ?急!!!!!!
...全文
311 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
V_Dream 2006-09-06
  • 打赏
  • 举报
回复
多写了几句,问题已经解决了 !
wn61 2006-09-05
  • 打赏
  • 举报
回复
奇怪的问题,虽然不知道,但是你的程序好像有冗余代码:
if(hti == NULL)
{
return;
}
这几句是不是可以去掉?

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧