Symbol - Icon austauschen in einem Baum, wenn Item selektiert wurde
-
Hallo !
Ich habe ein kleines Problem und hoffe, dass Ihr mir helfen könnt.
Zunächst habe in einem Dialog einen Baum eingefügt und möchte jetzt realisieren, dass wenn ein Eintrag selektiert wurde auch ein anderes Symbol angezeigt wird.
In der TV_ITEM Struktur setze ich daher iSelectedImage auf den Index des zweiten Bildes. Leider passiert nur nichts beim markieren ! :-|
Oder muß ich da extra eine bestimmte Nachricht zuordnen und den Baum neu zeichnen

Vielen Dank für Eure Hilfe !
-
Ich habe den Fehler gefunden !
Es wird das zweite Bild nicht in CImageList eingefügt. Allerdings sollte das genauso mit der Methode Add funktionieren wie beim ersten Bild.Weiß nicht doch jemand Rat ? Hier mal der Code !
pmyImageList.Create(16,16,ILC_COLOR,2,0); CWinApp* app=AfxGetApp(); if(!pmyImageList.Add(app->LoadIcon(IDI_ROOT))) { AfxMessageBox("Bild Normal eingefügt !"); } if(!pmyImageList.Add(app->LoadIcon(IDI_ROOTSEL))) { AfxMessageBox("Bild Select eingefügt !"); } int i=pmyImageList.GetImageCount(); if(i>0) { CString msg; msg.Format("Anzahl: %d", i); AfxMessageBox(msg); } // m_pTreeCtrl.SetImageList(&pmyImageList, TVSIL_NORMAL); TV_INSERTSTRUCT TreeCtrlItem; //Wurzel TreeCtrlItem.hParent = TVI_ROOT; TreeCtrlItem.hInsertAfter = TVI_LAST; TreeCtrlItem.item.mask = TVIF_TEXT | TVIF_PARAM; TreeCtrlItem.item.pszText = "Wurzel"; TreeCtrlItem.item.cchTextMax = 20; TreeCtrlItem.item.lParam = 0; TreeCtrlItem.item.iImage = 0; TreeCtrlItem.item.iSelectedImage = 1; TreeCtrlItem.item.cChildren = 1; TreeCtrlItem.item.lParam = 0; HTREEITEM hTreeItem = m_pTreeCtrl.InsertItem(&TreeCtrlItem);Danke !

-
Habe es gerade herausgefunden ! Es muß der folgende Eintrag erweitert werden:
TreeCtrlItem.item.mask = TVIF_TEXT | TVIF_PARAM | TVIF_IMAGE | TVIF_SELECTEDIMAGE;Trotzdem Danke !
