다음을 통해 공유


트리 컨트롤 사용

트리 컨트롤(CTreeCtrl)의 일반적인 사용법은 아래 패턴을 따릅니다.

  • 컨트롤이 만들어집니다. 컨트롤이 대화 상자 템플릿에 지정되었거나 사용 CTreeView중인 경우 대화 상자 또는 뷰를 만들 때 자동으로 생성됩니다. 트리 컨트롤을 다른 창의 자식 창으로 만들려면 멤버 만들기 함수를 사용합니다.

  • 트리 컨트롤에서 이미지를 사용하려면 SetImageList를 호출하여 이미지 목록을 설정합니다. SetIndent를 호출하여 들여쓰기를 변경할 수도 있습니다. 이 작업을 수행하는 데 좋은 시간은 OnInitDialog (대화 상자의 컨트롤용) 또는 OnInitialUpdate (보기용)입니다.

  • 각 데이터 항목에 대해 's InsertItem 함수를 CTreeCtrl한 번 호출하여 컨트롤에 데이터를 넣습니다. InsertItem 는 자식 항목을 추가할 때와 같이 나중에 참조하는 데 사용할 수 있는 항목에 대한 핸들을 반환합니다. 데이터를 OnInitDialog 초기화하는 것이 좋습니다(대화 상자의 컨트롤용) 또는 OnInitialUpdate 보기에 적합합니다.

  • 사용자가 컨트롤과 상호 작용하여 다양한 알림 메시지가 전송됩니다. 컨트롤 창의 메시지 맵에 ON_NOTIFY_REFLECT 매크로를 추가하거나 부모 창의 메시지 맵에 ON_NOTIFY 매크로를 추가하여 처리하려는 각 메시지를 처리하는 함수를 지정할 수 있습니다. 가능한 알림 목록은 이 항목의 뒷부분에 있는 트리 컨트롤 알림 메시지를 참조하세요.

  • 다양한 Set 멤버 함수를 호출하여 컨트롤에 대한 값을 설정합니다. 들여쓰기 설정 및 항목과 연결된 텍스트, 이미지 또는 데이터 변경이 포함될 수 있습니다.

  • 다양한 Get 함수를 사용하여 컨트롤의 내용을 검사합니다. 지정된 항목의 부모, 자식 및 형제에 대한 핸들을 검색할 수 있는 함수를 사용하여 트리 컨트롤의 내용을 트래버스할 수도 있습니다. 특정 노드의 자식을 정렬할 수도 있습니다.

  • 컨트롤을 완료하면 컨트롤이 제대로 제거되었는지 확인합니다. 트리 컨트롤이 대화 상자에 있거나 보기인 경우 개체가 CTreeCtrl 자동으로 제거됩니다. 그렇지 않은 경우 컨트롤 및 CTreeCtrl 개체가 모두 제대로 소멸되었는지 확인해야 합니다.

참고 항목

CTreeCtrl 사용
컨트롤