Иконка в CTreeCtrl
От: Kreol  
Дата: 04.12.06 18:53
Оценка:
Привет Всем.

Помогите идиоту.

На диалог кинул CTreeCtrl
Добавляю одну строчку с иконкой ярлыка
Вместо иконки рустое место,
чет я намудрил никак не пойму


      CImageList m_imageList;

    m_imageList.Create(16,16,ILC_COLOR24,1,1);

    SHFILEINFO shinfo;

    SHGetFileInfo( _T("C:\\test.lnk"), NULL, 
                   &shinfo, 
                   sizeof(shinfo), 
                   SHGFI_DISPLAYNAME |SHGFI_OVERLAYINDEX| SHGFI_ICON | SHGFI_SMALLICON);
    
    int icon1=m_imageList.Add(shinfo.hIcon);
    m_Tree.SetImageList(&m_imageList,TVSIL_NORMAL);
    HTREEITEM hi_tree=m_Tree.InsertItem("Test",icon1,icon1);


Весь вечер сижу ну никак "не выходит каменный цветок"

Заранее сэнькс
Re: Иконка в CTreeCtrl
От: Carc Россия http://www.amlpages.com/home.php
Дата: 04.12.06 20:52
Оценка:
Удалено избыточное цитирование. — SchweinDeBurg

Здравствуйте, Kreol, Вы писали:

K>
K>    SHGetFileInfo( _T("C:\\test.lnk"), NULL, 
K>                   &shinfo, 
K>                   sizeof(shinfo), 
K>                   SHGFI_DISPLAYNAME |SHGFI_OVERLAYINDEX| SHGFI_ICON | SHGFI_SMALLICON);
    
//иконку точно возвращает?
K>    int icon1=m_imageList.Add(shinfo.hIcon);
//icon1 точно >=0
K>    m_Tree.SetImageList(&m_imageList,TVSIL_NORMAL);
попробуй так
TREEITEM item={0};
item.mask=TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE;маска текст+ иконка+иконка для выделенного узла
item.iImage=icon1;
item.iSelectedIamge=icon1;
hi_tree=m_Tree.InsertItem(&item);
K>

K>Весь вечер сижу ну никак "не выходит каменный цветок"

K>Заранее сэнькс
Aml Pages Home
Re: Иконка в CTreeCtrl
От: Kreol  
Дата: 05.12.06 08:03
Оценка:
Оказалось все намного проще.

Поставил m_imageList как переменную член класса диалога

И все заработало.

Во блин, че сразу не сообразил...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.