다음을 통해 공유


트리 컨트롤 이미지 목록

트리 컨트롤(CTreeCtrl)의 각 항목에는 연결된 비트맵 이미지 쌍이 있을 수 있습니다. 이미지는 항목 레이블의 왼쪽에 표시됩니다. 한 이미지는 항목을 선택할 때 표시되고 다른 이미지는 항목을 선택하지 않으면 표시됩니다. 예를 들어 항목이 선택되면 열린 폴더를 표시하고 선택하지 않으면 닫힌 폴더를 표시할 수 있습니다.

항목 이미지를 사용하려면 CImageList 개체를 생성하고 CImageList::Create 함수를 사용하여 연결된 이미지 목록을 만들어 이미지 목록을 만들어야 합니다. 그런 다음, 원하는 비트맵을 목록에 추가하고 SetImageList 멤버 함수를 사용하여 목록을 트리 컨트롤과 연결합니다. 기본적으로 모든 항목은 선택한 상태와 선택되지 않은 상태 모두에 대한 이미지 목록의 첫 번째 이미지를 표시합니다. InsertItem 멤버 함수를 사용하여 트리 컨트롤에 항목을 추가할 때 선택한 이미지와 선택되지 않은 이미지의 인덱스를 지정하여 특정 항목의 기본 동작을 변경할 수 있습니다. SetItemImage 멤버 함수를 사용하여 항목을 추가한 후 인덱스를 변경할 수 있습니다.

트리 컨트롤의 이미지 목록에는 항목 이미지에 중첩되도록 설계된 오버레이 이미지가 포함될 수도 있습니다. 트리 컨트롤 항목의 상태 중 비트 8에서 11까지의 0이 아닌 값은 오버레이 이미지의 1부터 시작하는 인덱스를 지정합니다(0은 오버레이 이미지를 나타내지 않음). 4비트, 1부터 시작하는 인덱스가 사용되므로 오버레이 이미지는 이미지 목록의 처음 15개 이미지 중 하나여야 합니다. 트리 컨트롤 항목 상태에 대한 자세한 내용은 이 항목의 앞부분에 있는 트리 컨트롤 항목 상태 개요를 참조하세요.

상태 이미지 목록을 지정하면 트리 컨트롤은 상태 이미지의 각 항목 아이콘 왼쪽에 공간을 예약합니다. 애플리케이션은 검사 및 지워진 검사 상자와 같은 상태 이미지를 사용하여 애플리케이션 정의 항목 상태를 나타낼 수 있습니다. 비트 12에서 15까지의 0이 아닌 값은 상태 이미지의 1부터 시작하는 인덱스를 지정합니다(0은 상태 이미지를 나타내지 않음).

이미지 인 덱스 대신 I_IMAGECALLBACK 값을 지정하면 항목이 다시 그려질 때까지 선택한 이미지 또는 선택되지 않은 이미지 지정을 지연할 수 있습니다. I_IMAGECALLBACK TVN_GETDISPINFO 알림 메시지를 전송하여 인덱스에 대한 애플리케이션을 쿼리하도록 트리 컨트롤에 지시합니다.

GetImageList 멤버 함수는 트리 컨트롤의 이미지 목록 핸들을 검색합니다. 이 함수는 목록에 이미지를 더 추가해야 하는 경우에 유용합니다. 이미지 목록에 대한 자세한 내용은 CImageList 사용, MFC 참조CImageListWindows SDK의 이미지 목록을 참조하세요.

참고 항목

CTreeCtrl 사용
컨트롤