본문 바로가기
  • fishing...
  • eating...
MISCELLANEOUSNESS

MFC] CTreeCtrl의 트리 탐색 방법

by 회색뿔 2009. 12. 21.


MFC, CTreeCtrl의 서브 Tree를 탐색하는 방법을 작성해 봤다.

자주 보니 반가운 CTreeCtrl 아직 많은 부분을 이해하지 못했다.

함수의 인자로는 CTreeCtrl의 루트를 주엇다.


루트는 CTreeCtrl.GetRootItem(); 메서드로 쉽게 얻을 수 있다.


void CTreeView::showObject( HTREEITEM hCurrItem )
{
	HTREEITEM hSubItem;
	TVITEM tvItem;
	TCHAR szItem[ 256 ];

	//tvItem.cchTextMax = 256;
	//tvItem.pszText = szItem;
	//tvItem.mask = TVIF_TEXT | TVIF_HANDLE;

	while ( hCurrItem )
	{
		//tvItem.hItem = hCurrItem;
		//m_treeCtrl->GetItem( &tvItem );

		//TRACE( "%s \n", tvItem.pszText );
		if( m_treeCtrl->ItemHasChildren( hCurrItem ) )
		{
			// 재귀 호출 부분이다 조심하시길.
			showObject( m_treeCtrl->GetChildItem( hCurrItem ) );
		}

		hCurrItem = m_treeCtrl->GetNextSiblingItem( hCurrItem );
	}
}


이 다음번에는 

CTreeCtrl의 SetItemData, GetItemData를 사용하는 방법을 알아 봐야겟다.