ctreectrl 예제

트리 컨트롤은 물리적 트리로 정렬되었지만 약간 거꾸로 정렬된 항목의 계층적 목록을 표시하는 개체입니다. 항목은 부모-자식 형식으로 표시되어 부모에서 자식, 자식에서 손자까지와 같이 상호 관련된 범주에 속하는 항목을 표시합니다. 또는 폴더에 폴더를 파일로 저장합니다. 다음은 트리 목록의 예입니다: 트리의 시작 항목은 루트라고도 하며 트리의 시작을 나타냅니다. 대부분의 트리 목록에는 하나의 루트가 있지만 트리 작성자가 필요하다고 판단하는 한 많은 루트가 있는 트리 목록이 있는 것은 드문 일이 아닙니다. 다음은 예제입니다: 다음 코드 예제는 CTreeCtrl::GetItemExpandedImageIndex 메서드가 CTreeCtrl::SetItemExpandedImageIndex 메서드에 의해 설정된 값을 반환하는지 여부를 결정하는 간단한 테스트입니다. 표시되지 않는 코드 예제의 이전 섹션에서는 미국의 루트 국가/지역 노드, 펜실베니아 및 워싱턴 주에 대한 하위 노드 및 해당 주의 도시에 대한 트리 항목으로 구성된 트리 뷰를 만들었습니다. 내 작업은 간단합니다, 나는 트리 컨트롤을 떨어 드래그하고 지금은 그 안에 일부 데이터를 채우고 싶어. 트리 뷰 컨트롤의 각 항목 아래 링크와 같은 몇 가지 온라인 예제를 따라 비트 매핑 된 이미지 쌍을 연결할 수 있습니다.

항목을 선택하면 한 이미지가 표시되고 다른 이미지는 항목을 선택하지 않을 때 표시됩니다. 예를 들어 항목이 선택될 때 열려 있는 폴더와 선택하지 않을 때 닫힌 폴더가 표시될 수 있습니다. 검색 중인 항목이 트리의 루트 노드인 경우 이 함수는 NULL을 반환합니다. 예를 들어 트리 뷰의 루트 노드의 첫 번째 수준 자식에서 TVGN_PARENT 플래그와 함께 이 메시지를 사용하는 경우 메시지가 NULL로 반환됩니다. 일반적으로 이러한 Tree 컨트롤에 자식 항목을 추가하면 재귀 함수가 사용됩니다. 예를 들어 C: 드라이브 아래에 모든 폴더를 나열해야 하는 경우 하위 폴더를 찾기 위해 각 폴더를 거쳐야 합니다. 재귀 함수는 이러한 요청을 쉽게 처리할 수 있습니다. 좋은 예는 윈도우 탐색기입니다. 이 예제에서는 트리 컨트롤 항목을 삽입할 때 함수의 각 버전을 사용할 수 있는 상황을 보여 주며 있습니다.