0
MFC 트리 컨트롤에 문제가있는 프로젝트에서 작업하고 있습니다. 그 자식 노드가 선택되었는지 확인하고 싶습니다. 부모 노드가 선택되면 (확장되지 않음) 부모에서 GetChildItem()을 사용할 때 null이 반환됩니다. 부모 노드를 확장 한 후 동일한 작업을 반복하고 다시 축소하면 하위 항목이 반환됩니다.MFC Treeview : 자식 노드를 반환하지 않는 부모 노드
if(this->ItemHasChildren(hItem)) //returning true (and i am sure that it has children)
{
HTREEITEM hChild = this->GetChildItem (hItem); //returning NULL;
}
위의 코드는 트리를 확장하고 축소하면 NULL을 반환하지 않습니다. 당신이 나무에 깊이 가고 싶은 경우
HTREEITEM hItem = treeCtrl->GetRootItem();
if (treeCtrl->ItemHasChildren(hItem))
{
hItem = treeCtrl->GetNextItem(hItem, TVGN_CHILD);
//do things
while (hItem != NULL)
{
hItem = treeCtrl->GetNextItem(hItem, TVGN_NEXT);
//do things
}
}
같은
이 버그가있는 것은 아닙니다. https://www.google.pt/search?client=opera&q=GetChildItem&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest#channel=suggest&q=GetChildItem + ctreectrl – sergiol