Поделиться через


Списки изображений древовидного элемента управления

Каждый элемент в элементе управления "Дерево" (CTreeCtrl) может иметь пару битовых изображений, связанных с ним. Изображения отображаются слева от метки элемента. Одно изображение отображается при выборе элемента, а другой отображается, когда элемент не выбран. Например, элемент может отображать открытую папку при выборе и закрытую папку, если она не выбрана.

Чтобы использовать изображения элементов, необходимо создать список изображений, создав объект CImageList и используя функцию CImageList::Create для создания связанного списка изображений. Затем добавьте нужные растровые изображения в список и свяжите список с элементом управления "Дерево" с помощью функции-члена SetImageList . По умолчанию все элементы отображают первое изображение в списке изображений для выбранных и неизбираемых состояний. Поведение по умолчанию для определенного элемента можно изменить, указав индексы выбранных и неизбираемых изображений при добавлении элемента в элемент управления "Дерево" с помощью функции-члена InsertItem . Индексы можно изменить после добавления элемента с помощью функции-члена SetItemImage .

Списки изображений элемента управления деревом также могут содержать изображения наложения, которые предназначены для замены на изображения элементов. Ненулевое значение в битах от 8 до 11 состояния элемента управления деревом указывает одноуровневый индекс изображения наложения (0 указывает, что изображение наложения не отображается). Так как используется 4-разрядный индекс, наложение изображений должно быть одним из первых 15 изображений в списках изображений. Дополнительные сведения о состояниях элементов управления деревом см . в разделе " Общие сведения о состояниях элементов элемента управления деревом" в этом разделе.

Если указан список изображений состояния, элемент управления деревом резервирует пространство слева от значка каждого элемента для изображения состояния. Приложение может использовать изображения состояния, такие как проверка и очищаемые проверка поля, чтобы указать состояния элементов, определенных приложением. Ненулевое значение в битах от 12 до 15 указывает одноуровневый индекс образа состояния (0 означает отсутствие изображения состояния).

Указав значение I_IMAGECALLBACK вместо индекса изображения, можно отложить указание выбранного или неизбираемого изображения до тех пор, пока элемент не будет перезабран. I_IMAGECALLBACK направляет элемент управления деревом для запроса приложения к индексу, отправив сообщение TVN_GETDISPINFO уведомления.

Функция-член GetImageList извлекает дескриптор списка изображений дерева. Эта функция полезна, если необходимо добавить в список дополнительные изображения. Дополнительные сведения о списках изображений см. в разделе Using CImageList, CImageList в справочнике по MFC и списках изображений в пакете SDK для Windows.

См. также

Использование CTreeCtrl
Controls