//-------------------------------------------------------------------------------------//
// Function : FindTreeData
// Parameter : HTREEITEM hItem, DWORD dwData
// Return : HTREEITEM
// Note : hItem이하 모든 모든 노드에서 dwData를 찾는다.
//-------------------------------------------------------------------------------------//
HTREEITEM FindTreeData(CTreeCtrl* pTree, HTREEITEM hItem, DWORD dwData)
{
HTREEITEM hitemFind, hItemChile, hItemSibling;
hitemFind = hItemChile = hItemSibling = NULL;
if ( pTree->GetItemData( hItem ) == dwData )
{
hitemFind = hItem;
}
else
{
// 자식 노드를 찾는다.
hItemChile = pTree->GetChildItem( hItem );
if ( hItemChile )
{
hitemFind = FindTreeData( pTree, hItemChile, dwData );
}
// 형제노드를 찾는다.
hItemSibling = pTree->GetNextSiblingItem( hItem );
if ( hitemFind==NULL && hItemSibling )
{
hitemFind = FindTreeData( pTree, hItemSibling, dwData );
}
}
return hitemFind;
}
// Function : FindTreeData
// Parameter : HTREEITEM hItem, DWORD dwData
// Return : HTREEITEM
// Note : hItem이하 모든 모든 노드에서 dwData를 찾는다.
//-------------------------------------------------------------------------------------//
HTREEITEM FindTreeData(CTreeCtrl* pTree, HTREEITEM hItem, DWORD dwData)
{
HTREEITEM hitemFind, hItemChile, hItemSibling;
hitemFind = hItemChile = hItemSibling = NULL;
if ( pTree->GetItemData( hItem ) == dwData )
{
hitemFind = hItem;
}
else
{
// 자식 노드를 찾는다.
hItemChile = pTree->GetChildItem( hItem );
if ( hItemChile )
{
hitemFind = FindTreeData( pTree, hItemChile, dwData );
}
// 형제노드를 찾는다.
hItemSibling = pTree->GetNextSiblingItem( hItem );
if ( hitemFind==NULL && hItemSibling )
{
hitemFind = FindTreeData( pTree, hItemSibling, dwData );
}
}
return hitemFind;
}
반응형
'Dev > C, C++' 카테고리의 다른 글
CComboBox에서 ItemData와 ItemText찾기 (0) | 2003.07.18 |
---|---|
전체경로를 받아 파일이름을 제외한 경로만 구하기 (0) | 2003.07.18 |
MFC에서 .NET스타일의 메뉴를 사용해 보자 (5) | 2003.02.08 |
MFC에서 타이틀 변경은 어떻게 하나요? (1) | 2003.02.06 |
MFC용 ADO클래스 (0) | 2003.02.06 |