Установка списка изображений для элементов дерева
Шаг 1: Создание картинки
Добавить картинку, которая содержит все необходимые иконки, в редакторе ресурсов. В примере индивидуальный размер икноки равен 13x13, однако Вы можете выбрать другие параметры высоты и ширины.
Шаг 2: Добавление член-переменной списка изображений
Член-переменная обычно добавляется в класс ответственный за установку "дерева". Это как правило CView или CDialog производная. Вы также можете добавить ее наследника CTreeView, что очень удобно и я всячески рекомендую делать именно так.
class CTreeCtrlX : public CTreeCtrl
{
// Construction
public:
CTreeCtrlX();
// Attributes
public:
CImageList m_image ;
}
Шаг 3: Создание и установка списка изображений
Вызываем метод Create() объекта изображений вместе с идентификотором ресурса изображения, которое мы создали в Шаге 1, и шириной каждой иконки. Высота по умолчанию устанавливается равной высоте изображения. Третий аргумент передаваемый Create() указывает на число изображений в списке. Последний аргумент - цвет маски, с помощью которого можно задать прозрачный фон для нашего списка.
m_tree.m_image.Create( IDB_OUTLINE, 13, 1, RGB(255,255,255) );
m_tree.SetImageList( &(m_tree.m_image), TVSIL_NORMAL );
Шаг 4: Определение иконок для элементов
Как только список изображений связан с "деревом", оно сразу отображает иконку слева от текста. Место под картинку выделяется автоматически. При добалении нового элемента можно определить какое изображение надо показывать рядом. В последствии его можно изменить по своему усмотрению.