트리 컨트롤 부모 및 자식 항목
트리 컨트롤(CTreeCtrl)의 모든 항목에는 하위 항목 목록(하위 항목이라고 함)이 연결되어 있을 수 있습니다. 하나 이상의 자식 항목이 있는 항목을 부모 항목이라고 합니다. 자식 항목은 부모 항목 아래에 표시되고 부모 항목에 종속됨을 나타내도록 들여쓰기됩니다. 상위 항목이 없는 항목은 계층 구조의 맨 위에 있으며 루트 항목이라고 합니다.
언제든지 부모 항목의 자식 항목 목록 상태는 확장되거나 축소될 수 있습니다. 상태가 확장되면 자식 항목이 부모 항목 아래에 표시됩니다. 축소되면 자식 항목이 표시되지 않습니다. 사용자가 부모 항목을 두 번 클릭하거나, 부모에 TVS_HASBUTTONS 스타일이 있거나, 사용자가 부모 항목과 연결된 단추를 클릭하는 경우 목록이 확장 상태와 축소 상태 간에 자동으로 전환됩니다. 애플리케이션은 확장 멤버 함수를 사용하여 자식 항목을 확장하거나 축소할 수 있습니다.
InsertItem 멤버 함수를 호출하여 트리 컨트롤에 항목을 추가합니다. 이 함수는 항목을 고유하게 식별하는 HTREEITEM 형식의 핸들을 반환합니다. 항목을 추가할 때 새 항목의 부모 항목 핸들을 지정해야 합니다. TVINSERTSTRUCT 구조체 또는 hParent 매개 변수에서 부모 항목 핸들 대신 NULL 또는 TVI_ROOT 값을 지정하면 항목이 루트 항목으로 추가됩니다.
트리 컨트롤은 부모 항목의 자식 항목 목록이 확장되거나 축소될 때 TVN_ITEMEXPANDING 알림 메시지를 보냅니다. 이 알림은 변경을 방지하거나 자식 항목 목록의 상태에 따라 부모 항목의 특성을 설정할 수 있는 기회를 제공합니다. 목록의 상태를 변경한 후 트리 컨트롤은 TVN_ITEMEXPANDED 알림 메시지를 보냅니다.
자식 항목 목록이 확장되면 부모 항목에 상대적으로 들여쓰기가 적용됩니다. SetIndent 멤버 함수를 사용하여 들여쓰기 양을 설정하거나 GetIndent 멤버 함수를 사용하여 현재 양을 검색할 수 있습니다.