2010-11-29 6 views
0

Я пытаюсь создать список изображений в своем элементе управления и загружать дополнительные изображения. Проблема в том, что используется только изображение, которое я создаю, и загруженные изображения не отображаются. Вот мой CCODE:Проблема с загрузкой растровых изображений в CTreeCtrl

определяет IMAGE1 1

определяет IMAGE2 2

определяет image3 3

определяет image4 4

определяет IMAGE5 5

m_Bitmap1.LoadBitmap(IDB_BITMAP1); 
m_Bitmap2.LoadBitmap(IDB_BITMAP2); 
m_Bitmap3.LoadBitmap(IDB_BITMAP3); 


m_ImageListTree = new CImageList; 
m_ImageListTree->Create(IDB_BITMAP1, 16, 1, RGB(255, 255, 255)); 
m_ImageListTree->Add(&m_Bitmap2, RGB(255, 255, 255)); 
m_ImageListTree->Add(&m_Bitmap3, RGB(255, 255, 255)); 


while(ItemTree != NULL) 
{ 
    BasicTree->SetItemImage(ItemTree, nCounter, nCounter); 
    ItemTree = BasicTree->GetNextItem(ItemTree, TVGN_CHILD); 
    nCounter++; 
} 

Единственный IDB_BITMAP1 отображается на всех уровнях дерева. Есть идеи?

ответ

0

На самом деле я никогда не был в цикле, так как я не получил начальный HTRREITEM перед входом в цикл.

Также, создание списка в элементе управления, инициализирует каждый новый элемент с помощью растрового изображения, которое вы используете для создания. Вы можете установить изображение eitehr во вставке или в изменении, если вам нужно указать другое изображение (для вставки вам необходимо определить TVINSERTSTRUCTW и установить изображение перед вставкой всего элемента.