트리 컨트롤 사용
트리 컨트롤(CTreeCtrl)의 일반적인 사용법은 아래 패턴을 따릅니다.
컨트롤이 만들어집니다. 컨트롤이 대화 상자 템플릿에 지정되었거나 사용
CTreeView
중인 경우 대화 상자 또는 뷰를 만들 때 자동으로 생성됩니다. 트리 컨트롤을 다른 창의 자식 창으로 만들려면 멤버 만들기 함수를 사용합니다.트리 컨트롤에서 이미지를 사용하려면 SetImageList를 호출하여 이미지 목록을 설정합니다. SetIndent를 호출하여 들여쓰기를 변경할 수도 있습니다. 이 작업을 수행하는 데 좋은 시간은 OnInitDialog (대화 상자의 컨트롤용) 또는 OnInitialUpdate (보기용)입니다.
각 데이터 항목에 대해 's InsertItem 함수를
CTreeCtrl
한 번 호출하여 컨트롤에 데이터를 넣습니다.InsertItem
는 자식 항목을 추가할 때와 같이 나중에 참조하는 데 사용할 수 있는 항목에 대한 핸들을 반환합니다. 데이터를OnInitDialog
초기화하는 것이 좋습니다(대화 상자의 컨트롤용) 또는OnInitialUpdate
보기에 적합합니다.사용자가 컨트롤과 상호 작용하여 다양한 알림 메시지가 전송됩니다. 컨트롤 창의 메시지 맵에 ON_NOTIFY_REFLECT 매크로를 추가하거나 부모 창의 메시지 맵에 ON_NOTIFY 매크로를 추가하여 처리하려는 각 메시지를 처리하는 함수를 지정할 수 있습니다. 가능한 알림 목록은 이 항목의 뒷부분에 있는 트리 컨트롤 알림 메시지를 참조하세요.
다양한 Set 멤버 함수를 호출하여 컨트롤에 대한 값을 설정합니다. 들여쓰기 설정 및 항목과 연결된 텍스트, 이미지 또는 데이터 변경이 포함될 수 있습니다.
다양한 Get 함수를 사용하여 컨트롤의 내용을 검사합니다. 지정된 항목의 부모, 자식 및 형제에 대한 핸들을 검색할 수 있는 함수를 사용하여 트리 컨트롤의 내용을 트래버스할 수도 있습니다. 특정 노드의 자식을 정렬할 수도 있습니다.
컨트롤을 완료하면 컨트롤이 제대로 제거되었는지 확인합니다. 트리 컨트롤이 대화 상자에 있거나 보기인 경우 개체가
CTreeCtrl
자동으로 제거됩니다. 그렇지 않은 경우 컨트롤 및CTreeCtrl
개체가 모두 제대로 소멸되었는지 확인해야 합니다.