Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > CListCtrl & CImageList


Автор: Router 7.3.2008, 11:51
У меня есть CListCtrl и CImageList, я с помошью фуекции  ExtractIconEx(...); загружаю в HICON парочку иконок, птом создаю имедж лист и вставляю туда иконки.
Но когда я задаю CListCtrl свои имеж лист, то на екране появляютса иконки с чорным фоном,
если я поставлю в создании имедж листа маску ILC_MASK выводитса иконки с белим фоном но черный по краям остоетса, в чом проблема подскажыте?
вот код создания CImageList ' а
Код

    HICON iSmall; iList.Create(16,16, ILC_COLOR16 | ILC_MASK, 0, 0);
    ExtractIconEx("C:\\WINDOWS\\system32\\shell32.dll", 3, NULL, &iSmall, 1);
    iList.Add(iSmall);
    ExtractIconEx("C:\\WINDOWS\\system32\\shell32.dll", 11, NULL, &iSmall, 1);
    iList.Add(iSmall);

а вот код добавления в CListCtrl
Код

    list.DeleteAllItems();
    list.SetImageList(&iList, 1);
    list.InsertItem(0, "text 1", 0);
    list.InsertItem(1, "text 2", 1);

хотелось бы чтоб иконки были без чорного фона вообще )

Автор: Router 7.3.2008, 12:12
Да и ешо, когда я ставлю в настройках List Control опцию View = List или View = Small Icon то иконки отображаютса, а если просто View = Icon то только текст как сделать чтоб отображались и иконки, текст кода тотже?

Автор: Andrey44 7.3.2008, 12:29
Попробуй ILC_COLOR32 вместо ILC_COLOR16

Автор: Router 7.3.2008, 12:38
непомогло (

Автор: Andrey44 7.3.2008, 12:48
Убери флаг ILC_MASK

Автор: Router 7.3.2008, 13:26
пасиба мне уже полсказали ( iList.SetBkColor(0x0ffffff ); ), помогите разобратса со 2 вопросом.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)