이 예제에서는 트리 컨트롤 항목을 삽입할 때 함수의 각 버전을 사용할 수 있는 상황을 보여 주며 있습니다. 트리의 시작 항목은 루트라고도 하며 트리의 시작을 나타냅니다. 대부분의 트리 목록에는 하나의 루트가 있지만 트리 작성자가 필요하다고 판단하는 한 많은 루트가 있는 트리 목록이 있는 것은 드문 일이 아닙니다. 다음은 내 작업이 간단하다, 나는 트리 컨트롤을 떨어 드래그하고 지금은 그 안에 일부 데이터를 채우고 싶어. nStateMask에서 지정한 값의 비트 OR을 보유하는 UINT 아래의 링크와 같은 몇 가지 온라인 예제를 따랐습니다. 가능한 값에 대한 자세한 내용은 CTreeCtrl::GetItem을 참조하십시오. 특정 상태에 대한 값을 찾으려면 다음 예제와 같이 상태 값과 반환 값의 BITWISE AND 작업을 수행합니다. 일반적으로 이러한 Tree 컨트롤에 자식 항목을 추가하면 재귀 함수가 사용됩니다. 예를 들어 C: 드라이브 아래에 모든 폴더를 나열해야 하는 경우 하위 폴더를 찾기 위해 각 폴더를 거쳐야 합니다. 재귀 함수는 이러한 요청을 쉽게 처리할 수 있습니다. 좋은 예는 윈도우 탐색기입니다.

검색 중인 항목이 트리의 루트 노드인 경우 이 함수는 NULL을 반환합니다. 예를 들어 트리 뷰의 루트 노드의 첫 번째 수준 자식에서 TVGN_PARENT 플래그와 함께 이 메시지를 사용하는 경우 메시지가 NULL로 반환됩니다. 다음 코드 예제에서는 현재 트리 뷰 컨트롤에 액세스하는 데 사용되는 변수 m_treeCtrl을 정의합니다. 또한 코드 예제에서는 서명되지 않은 정수 및 여러 HTREEITEM 변수를 정의합니다. 이러한 변수는 다음 예제에서 사용됩니다. 다음 코드 예제에서는 현재 트리 뷰 컨트롤의 자동 스크롤 동작을 설정합니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국의 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주에 대한 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다. 포커스가 있는 트리 항목을 표시하기 위해 자동으로 스크롤해야 하도록 트리 뷰 컨트롤을 의도적으로 좁혀야 합니다. 코드 예제에서는 트리 항목이 보기가 될 때까지 5초마다 초당 30픽셀을 자동으로 스크롤하도록 트리 뷰 컨트롤을 설정합니다. 위에서 참조한 예제에서 TreeView는 p_TreeView->CreateWindow(…) 루프에서 GetNextItem을 사용하는 예는 CTreeCtrl::DeleteItem을 참조하십시오. 트리 뷰 컨트롤의 각 항목에는 비트매핑된 이미지 쌍이 연관되어 있을 수 있습니다. 항목을 선택하면 한 이미지가 표시되고 다른 이미지는 항목을 선택하지 않을 때 표시됩니다.

예를 들어 항목이 선택될 때 열려 있는 폴더와 선택하지 않을 때 닫힌 폴더가 표시될 수 있습니다. 다음 코드 예제에서는 트리 뷰 제어 항목에 대한 식별 번호를 가져옵니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국의 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주에 대한 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다.