Icon.FromHandle
От: Аноним  
Дата: 03.12.04 09:20
Оценка:
Здравствуйте.

Есть примерно такой код:


IExtractIcon extractor; // IExtractIcon описан через [ComImport]
ImageList imageList;
string path;
uint index;
IntPtr hiconLarge, hicon;

// ...

int hr = extractor.Extract(path, index, ref hiconLarge, ref hicon, 0x00100000);
Icon icon = Icon.FromHandle(hicon);
imageList.Images.Add(icon);


Проблема в том, что иконка при отображении (например в TreeView) получается корявая, как будто бы выполнялся strech. Но размер и глубина цвета иконки и imageList'а одинаковые — 16x16 32bit. В какую сторону копать?
Icon.FromHandle
От: Аноним  
Дата: 04.12.04 12:45
Оценка:
Посмотреть свойства иконки и ImageList в runtime (вывести отладочную информацию). Тогда будет яснее.
VBSTREETS, Editor-in-Chief


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Icon.FromHandle
От: rda  
Дата: 06.12.04 08:12
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Посмотреть свойства иконки и ImageList в runtime (вывести отладочную информацию). Тогда будет яснее.


И в runtime всё совпадает. Если переключу desctop в 16 bit-ный режим, то всё нормально, никаких искажений. А в 32 bit-ном такая вот беда. Причём если полноцветную иконку с винта дизайнером в ImageList добавляю, то тоже наблюдается такой эффект. Может быть есть способ сообщать системе не только размер иконки, который я хочу получить, но и глубину цвета?
Re: Icon.FromHandle
От: Аноним  
Дата: 08.12.04 10:22
Оценка:
Я в своё время сталкивался с аналогичной проблемой. Решения так и не нашёл.

http://www.aspnetmania.com/Forums/ForumMessage/27979.html


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