Finding an item in TreeCtrl (recursive function) 

This function searches in a tree control for an item's associated data. If an exact data match is found, the matching item is returned, otherwise, NULL is returned. 

HTREEITEM CTreeCtrlX::FindData(HTREEITEM hti, DWORD dwData)

{

if(hti == NULL) return NULL;

if(GetItemData( hti ) == dwData)

        {

Select( hti, TVGN_CARET);

EnsureVisible( hti );

                return hti;

        }

hti = GetChildItem( hti );

do

{

HTREEITEM hti_res;

if((hti_res = FindData( hti, dwData)) !=NULL )

       return hti_res; 

}while( (hti = GetNextSiblingItem( hti )) != NULL );

return NULL;

}

Date Posted: October 2, 1998