Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: COM/DCOM/ActiveX/ATL/CORBA > Передать из com-объекта CImageList |
Автор: Прусак 18.4.2014, 12:25 |
Привет! Начал разбираться com объектами, поэтому возник, возможно, глупый вопрос. Есть задание: надо реализовать файловый менеджер, но вся работа с файловой системой должна выполняться на com-сервере. Сталкнулся с проблемой как отобразить иконки для папок и файлов. Необходимо иметь список иконок CImageList* m_pImgList. HIMAGELIST hlmg = (HIMAGELIST)::SHGetFileInfo("c:\\",0, &info, sizeof (info), SHGFI_SYSICONINDEX | SHGFI_SMALLICON); m_TreeControl.SetImageList(m_pImgList, TVSIL_NORMAL); Но покольку вся работа с файловой системой происходит в ком, а отображение в клиенте, то необходимо как-то передать список иконок в клиента, но com не поддерживает такой тип данных. Подскажите, что можно сделать в данной ситуации. Спасибо |
Автор: xvr 18.4.2014, 13:49 |
CImageList - это MFC'ный класс, обвертка вокруг Windows common image list control. Очевидно, что в COM объекте создавать классы из чужого окружения (MFC в данном случае) и выдавать их наружу бесполезно и крайне опасно ![]() |