Я отображаю иконки (файлы формата *.ico) на форме htmlayout с помощью <picture .../>
Получаю эти иконки посредством ExtractAssociatedIcon + рисую AlphaBlend + своё сохранение в *.ico
Так вот... Обновил недавно себе dll'ку на версию 3.3.1.40
а раньше работал с 3.3.1.36
Проблемы:
1. и заметил, что некоторые иконки не показываются
а именно иконки от Total Commander, browse.exe итд
винда их кстати показывает, но открываю иконку программой Paint.NET и там показывается прозрачное поле
на версии 3.3.1.36 htmlayout их показывал
2. проблема с эффектом glow. Раньше эффект glow глючил только на недавно описанных иконках (Total Commander, browse.exe итд)
а именно (я ставил glow на :hover ) иконка пропадала\появлялась при наведении
а теперь ( v3.3.1.40 )такая проблема со всеми иконками при glow
Предполагаю, что всё это из-за подвижек в версиях 3.3.1.37 Fix of rendering of some icons in skin.exe.
3.3.1.39 Fix of GDI handle leak in .ICO files rendering code.
PS решил проверить Restorator'ом закинуть main — иконку в htmlayout
она тоже подмигивает при glow
Что-то ты там не то делаешь в "ExtractAssociatedIcon + рисую AlphaBlend + своё сохранение в *.ico"
И вообще нафиг оно тебе нужно? Как бы behavior behavior:file-icon; он для того и сделан-то был.
Здравствуйте, c-smile, Вы писали:
CS>Не верю. Вот тест:
А зря
Немного не по теме, но подобная проблема с пропаданием картинок есть здесь.
При наведении на img (у которого стоит glow) происходит его пропадание. Причем я долго не мог понять почему в browse.exe все это прекрасно работает, а в реальном приложении нет. Думал у меня косяк какой. Оказалось проблема в следующем:
В первом случаевсе будет отображаться нормально, а во втором случае, если сжать по вертикале по самое "нехочу", то начинается пропадание img при наведении мышью. А по самое "нехочу" у меня сжимается в рабочем приложении именно потому, что это своего рода отдельный контрол. Там высота hWnd выставляется строго по размеру минимальной допустимой высоты, при которой отсутствует вертикальны скроллбар.
Здравствуйте, maxforme, Вы писали:
M>если папка была удалена или файл был удален M>то объект остаётся, и иконка не рисуется (естественно ссылки то теперь нет)
M>Можно было бы чтобы когда нет файла рисовалась какая нить Error иконка (раньше по-моему было такое) ? M>или это не совпадает с политикой этого бехавира?
Что-то я не могу сообразить как это лучше имплементировать.
По идее в случае ошибки нужно рисовать тот image который описан в foreground-image атрибуте.
Чтобы можно было конфигурировать как-то... Или как?
N>В первом случае все будет отображаться нормально, а во втором случае, если сжать по вертикали по самое "нехочу", то начинается пропадание img при наведении мышью. А по самое "нехочу" у меня сжимается в рабочем приложении именно потому, что это своего рода отдельный контрол. Там высота hWnd выставляется строго по размеру минимальной допустимой высоты, при которой отсутствует вертикальный скроллбар.
Прошу прощения за беспокойство.
Будет ли фикс всего этого дела?
В последнем билде тоже не работает
Здравствуйте, c-smile, Вы писали:
CS>Что-то я не могу сообразить как это лучше имплементировать. CS>По идее в случае ошибки нужно рисовать тот image который описан в foreground-image атрибуте. CS>Чтобы можно было конфигурировать как-то... Или как?
Да скорее всего так и лучше будет )
Буду обкатывать пока так, потом посмотрим, что из этого выйдет
N>>В первом случае все будет отображаться нормально, а во втором случае, если сжать по вертикали по самое "нехочу", то начинается пропадание img при наведении мышью. А по самое "нехочу" у меня сжимается в рабочем приложении именно потому, что это своего рода отдельный контрол. Там высота hWnd выставляется строго по размеру минимальной допустимой высоты, при которой отсутствует вертикальный скроллбар.
N>Прошу прощения за беспокойство. N>Будет ли фикс всего этого дела? N>В последнем билде тоже не работает
N>Спасибо
Будет. На пока убери glow c этого image.
Можешь добавить image-transformation если нужен visual highlight:
Поднимаю давнейший топик
CS>Что-то ты там не то делаешь в "ExtractAssociatedIcon + рисую AlphaBlend + своё сохранение в *.ico" CS>И вообще нафиг оно тебе нужно? Как бы behavior:file-icon; он для того и сделан-то был.
behavior:file-icon; может и был сделан для этого, но практика показывает, что он лучше всего работает для статичных страниц
у меня же на странице таких много может быть + возможен Htmlayout drag'n'drop
следовательно при драге начинаются лаги. так как Htmlayout для каждого behavior объекта лезет смотрит иконку и рисует её.
конечно хорошо было бы если всё кэшировалось и не лезло на винт при следующих перересовках.
так бы не возникло этой проблемы.
придется видимо не использовать behavior:file-icon; ",а ездить на своем велосипеде" создавать и рисовать свои иконки для приложений?
Здравствуйте, c-smile!
M>придется видимо не использовать behavior:file-icon; ",а ездить на своем велосипеде" создавать и рисовать свои иконки для приложений?
Так вот. Я думал, отказавшись от behavior: file-icon; и перейдя на src="*.ico", избавлюсь от тормозов перерисовки при Drag'n'Drop, но они не особо то и пропали
Есть мысли, что мне сделать, чтобы избежать тормозов?
Открываем закладку 2
Делаем драг — уже не очень что-то (
и это при использовании <picture class="icon" src="C:\1.ico" />
а когда был behavior: file-icon; с <picture class="icon" filename="C:\1.lnk" /> то еще хуже естественно
Заранее благодарен