Дерево не отображается при задании имадж-листа
От: DownAndUp  
Дата: 20.02.06 10:28
Оценка:
Я использую WTL, но не суть в этом. У меня есть стандартный контрол — дерево.

В первом случае я сначала заполняю дерево, а потом устанавливаю свой имадж-лист для состояний элементов. В этом случае все работает правильно и дерево отображается и состояния элементов правильные.

Во втором случае я делаю наоборот — сначала устанавливаю имадж-лист для состояний а потом заполняю дерево.
И в этом случае дерево не работает должным образом. Вместо контрола вообще белое одно поле и ничего нет, даже плюсов стандартных нет.

Создаю имадж-лист я так


CBitmap bitmap_empty;

CBitmap bitmap_checked;
bitmap_checked.LoadOEMBitmap(OBM_CHECK);

CBitmap bitmap_checkbox;
bitmap_checkbox.LoadOEMBitmap(OBM_CHECKBOXES);

CBitmap bitmap_unchecked;

SIZE oem_bitmap_size;
memset(&oem_bitmap_size,0x0,sizeof(oem_bitmap_size));
bitmap_checked.GetSize(oem_bitmap_size);

m_ImageList.Create(oem_bitmap_size.cx,oem_bitmap_size.cy,ILC_COLOR,3,2);
bitmap_empty.CreateBitmap(oem_bitmap_size.cx,oem_bitmap_size.cy,1,16,NULL);
bitmap_unchecked.CreateBitmap(oem_bitmap_size.cx,oem_bitmap_size.cy,1,16,NULL);

m_ImageList.Add(bitmap_empty,RGB(0,0,0));
m_ImageList.Add(bitmap_checked,RGB(0,0,0));
m_ImageList.Add(bitmap_unchecked,RGB(0,0,0));

m_Tree.SetImageList(m_ImageList.m_hImageList,TVSIL_STATE);

Может что-то не то я делаю?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.