imagelist für TreeControl

anmae

Erfahrenes Mitglied
Hallo,

ich habe eine Imagelist für einen Baum.
Wie kann ich verschiedenen Einträgen der selben Baumebene verschiedene Bilder zuweisen?

thx
 
Ganz einfach indem Du den Index des Bildes in der Liste dem Item beim Aufruf von SetItem oder Insert Item angibst. In der TVITEM - Struktur wäre das das Member iImage für das normale Bild und iSelectedImage für das Bild bei Auswahl des Items.
 
Ok, das klappt schonmal.

Ich lade nun ein bmp aus einer Datei und füge den in die ImageList ein. Das klappt aber nicht bei verschiedenen Auflösungen des Bmp (Größe 16*16 Pixel und Farbtiefe 24Bit sind bei beiden bmp gleich)
Gibt es eine Möglichkeit die Auflösung des Bitmaps in die gewünschte zu pressen?
Code:
HBITMAP hbm = (HBITMAP)::LoadImage( AfxGetInstanceHandle(), "icon_03.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
if(hbm){
	CBitmap    Cbmp;
	Cbmp.Attach(hbm);
	imgIndex = m_cImageList->Add(&Cbmp,RGB(0,0,0));//AddBitmapToImageList(hbm);	
}

if(imgIndex==-1)
	imgIndex=0;
HTREEITEM cConf = mc_KL_Groups.InsertItem("Item",imgIndex,imgIndex,cRootCont);
 
Ist das nich einfacher, den Bitmaps mit einem Grafikprogramm die selbe Auflösung zu geben?
Du kannst auch die Bilder in ein Bitmap klatschen (horizontal nebeneinander) - die Imagelist zerliegt die dann automatisch in einzelne Bilder, gemäss der in "Create(..)" angegebenen Grösse.
Zumindestens funktioniert das mit, über den Klassenassisten eingefügten Bitmaps.

M.f.G. Erik
 
Zurück