下面的代码
HTREEITEM hItemRoot = 0;
hItemRoot = GetRootItem();
if (!hItemRoot || !ItemHasChildren(hItemRoot))
hItem = GetChildItem(hItemMatch);
通过跟踪ItemHasChildren(hItemRoot)返回true,也就是有子节点,但是
hItem却返回空,到底是怎么回事
HTREEITEM hItemRoot = 0;
hItemRoot = GetRootItem();
if (!hItemRoot || !ItemHasChildren(hItemRoot))
hItem = GetChildItem(hItemMatch);
通过跟踪ItemHasChildren(hItemRoot)返回true,也就是有子节点,但是
hItem却返回空,到底是怎么回事
解决方案 »
- MSHTML的CoCreateInstance失败,请教各位,先谢谢了。
- 问一下,unicon到底在VC中有什么影响?
- 怎样能把string型+上一个LOGN型得到一个string
- CButtonST 要收费了
- UDP-----如果保证包不丢失?
- 请教用什么函数可以从硬盘取.bmp格式的图象进行显示
- 怎样取得SuperGridCtrl的RootItem,Item,SubItem的内容?(分不够再开)
- 急急急!!
- 求大侠帮忙!!OnEnChangeEdit 被调用多次怎么办?
- 怎样将一个16*16的图标画在一个8*8的按扭上。
- PS界面模仿问题集__怎样实现窗口合并和脱离?
- 菜鸟问题,各位大哥帮忙指点一下
hItem = GetChildItem(hItemRoot);//这一句是不是应该这样?
看MSDN:
// Delete all of the children of hmyItem.
if (pmyTreeCtrl->ItemHasChildren(hmyItem))
{
HTREEITEM hNextItem;
HTREEITEM hChildItem = pmyTreeCtrl->GetChildItem(hmyItem); while (hChildItem != NULL)
{
hNextItem = pmyTreeCtrl->GetNextItem(hChildItem, TVGN_NEXT);
pmyTreeCtrl->DeleteItem(hChildItem);
hChildItem = hNextItem;
}
}
按你这句话的意思是
如果 没有根节点 或者 有根节点但没有子节点 的时候才执行
hItem = GetchildItem(hItemMacth) ;
不知道hItemMacth句柄与hItemRoot有什么联系???
HTREEITEM hItemRoot = NULL ;
hItemRoot = m_tree.GetRootItem();
if (!hItemRoot) return FALSE;
else if(m_tree.ItemHasChildren(hItemRoot))
{
HTREEITEM hChild = m_tree.GetChildItem(hItemRoot);
while(hChild)
{
hChild = m_tree.GetNextItem(hChild,TVGN_NEXT); //看看所有的同等级child
}
return TRUE;
}
else return FALSE ;
HTREEITEM hItemRoot = 0;
hItemRoot = GetRootItem();
hItemMacth = hItemRoot
if (!hItemRoot || !ItemHasChildren(hItemRoot))
hItem = GetChildItem(hItemMatch);
hItemRoot = ****.GetRootItem();
HTREEITEM hItemRoot = 0, hItemMatch = 0, hItem = 0; hItemRoot = GetRootItem();
if (!hItemRoot || !ItemHasChildren(hItemRoot))
return bRet;
hItemMatch = hItemRoot;
hItem = GetChildItem(hItemMatch);
可hItem = GetChildItem(hItemMatch);
hItem返回NULL又说明没有子节点,迷惑阿
extern CTreeCtrl* pmyTreeCtrl;
// The item whose children will be deleted.
extern HTREEITEM hmyItem;// Delete all of the children of hmyItem.
if (pmyTreeCtrl->ItemHasChildren(hmyItem))
{
HTREEITEM hNextItem;
HTREEITEM hChildItem = pmyTreeCtrl->GetChildItem(hmyItem); while (hChildItem != NULL)
{
hNextItem = pmyTreeCtrl->GetNextItem(hChildItem, TVGN_NEXT);
pmyTreeCtrl->DeleteItem(hChildItem);
hChildItem = hNextItem;
}
}
这是MSDN的例子,你的代码里没有添加 The pointer to my tree control.pmyTreeCtrl;