树控件类有GetNextSiblingItem函数,但是没有GetFirstSiblingItem函数。
我想遍历当前项(Item)同一级的所有项目,怎么办?
我想遍历当前项(Item)同一级的所有项目,怎么办?
解决方案 »
- GetWindowRect(&rc);取得的怎么不是屏幕RECT哦.
- 如何显示二进制代码
- 没有.dsw文件的VC代码如何编译啊????
- 能不能把,内存中的数据压缩。
- 从服务器指定的文件夹下获得所有*.bmp文件的名称
- 『恳请大侠们赐教!!!!』用注册表存储程序的数据稳定吗?为什么我的程序在向注册表写大量数据时会出错?
- 将一张透明的小图覆盖到大图上!
- VC中关于回调函数编译通不过,请大家指教。
- 为什么我看不到我给别人的得分?
- VC 6.0下OpenPrinter函数未定义
- Mandrake linux 8.1的引导 系统可否引导NTFS下的WIN2000
- 有谁知道learn++还开不开他的FTP了,我真的很想要他当时公布的一些书籍
{
HTREEITEM hItem = pmyTreeCtrl->GetChildItem(hmyItem); while (hItem != NULL)
{
pmyTreeCtrl->SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
hItem = pmyTreeCtrl->GetNextSiblingItem(hItem);
}
}
上面的例子說明,GetChildItem()就是你要找的所謂的“GetFirstSiblingItem”
有没有搞错?我想找同一级的所有项目,你给我找下一级的所有项目。
如果先返回上一级,再用你的方法还差不多,但是如果当前项目没有上一级怎么办呢?
你可以GetSelectedItem后得到当前节点再GetNextSiblingItem就是找同一级的节点.没有上一级判断为null.
{
HTREEITEM hItemPrev;
while (hItem != NULL)
{
hItemPrev = hItem;
hItem = pmyTreeCtrl->GetPrevSiblingItem(hItem);
}
return hItemPrev;
}
如果仅是遍历本级的所有Item的话,可以将GetPrevSiblingItem()和GetNextSiblingItem()结合起来用。
HTREEITEM GetFirstSiblingItem( HTREEITEM hItem )
{
HTREEITEM hItemPrev = hItem; //这里我修改了一下
while (hItem != NULL)
{
hItemPrev = hItem;
hItem = pmyTreeCtrl->GetPrevSiblingItem(hItem);
}
return hItemPrev;
}
和GetNextSiblingItem就搞定了。