2013-04-26 2 views
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 
    } 
} 

같은

+0

이 버그가있는 것은 아닙니다. 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

답변

0

시도 뭔가 당신이에 따라 재귀 기능을해야 할 것 그리고.

관련 문제