Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не грузятся иконки в элементы CTreeCtrl.

9.4K
06 ноября 2006 года
Savoy
47 / / 04.04.2006
Почему-то не загружаются иконки в элементы дерева. Делаю так:

Код:
HICON hIc[2];
hIc[0] = AfxGetApp()->LoadIcon(IDI_ICON1);
hIc[1] = AfxGetApp()->LoadIcon(IDI_ICON2);

CImageList ImList;
ImList.Create(16, 16, ILC_COLOR, 2, 2);

int i_1 = ImList.Add(hIc[0]);
int i_2 = ImList.Add(hIc[1]);

v_tree.SetImageList(&ImList, TVSIL_NORMAL);

TV_INSERTSTRUCT tvins;

tvins.hParent = NULL;
tvins.hInsertAfter = TVI_LAST;
tvins.item.mask = TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_TEXT;
tvins.item.hItem = NULL;
tvins.item.state = 0;
tvins.item.stateMask = 0;
tvins.item.cchTextMax = 6;
tvins.item.iSelectedImage = i_1;
tvins.item.cChildren = 0;
tvins.item.lParam = 0;

tvins.item.pszText = "Root";
tvins.item.iImage = i_2;

HTREEITEM hRoot = v_tree.InsertItem(&tvins);


Вместо иконок пустые места(как раз для них). Первый раз с этим стал разбираться,
чувствую меня где-то кидают, только не пойму где.
Что я здесь не так делаю?
Иконки 16х16, 256 цветов. Может свойство какое где выставить забыл..
9.4K
06 ноября 2006 года
Savoy
47 / / 04.04.2006
Уже не надо - разобрался.
Стоило объявить CImageList динамически:
 
Код:
CImageList* pImList = new CImageList();


Только непонятно почему всё-таки статически не работает.
17K
06 ноября 2006 года
Bosheit
26 / / 28.10.2006
Наверное, потому, что в твоем примере переменная ImList - не статическая, она - локальная, значит, при выходе из ф-ии уничтожается, а для SetImageList это не допустимо. Можно попробовать
static CImageList ImList;
или как ты сделал - динамически, не забыть только потом delete pImList.
9.4K
06 ноября 2006 года
Savoy
47 / / 04.04.2006
[QUOTE=Bosheit]Наверное, потому, что в твоем примере ты переменная ImList - не статическая, она - локальная, значит, при выходе из ф-ии уничтожается, а для SetImageList это не допустимо. Можно попробовать
static CImageList ImList;
или как ты сделал - динамически, не забыть только потом delete pImList.[/QUOTE]

Да, спасибо, так тоже работает, теперь понятно.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог