|
Конвертация Icon(resource) -> Icon(long) -> ImageList и обратно ImageList->Icon(long)
|
|||
---|---|---|---|
#18+
Я вот тут (конкретно куда указывает ссылка): А вообще иконки в VB6 меню тяжело добавить? попытался (в целом успешно) использовать API-ImageList для хранения иконок которые используются в меню. Я уже от этой идеи отказался по ряду причин. Но может мне кто-нибудь объяснить глюк с кот. я столкнулся. Простой вариант, на кот. и остановился состоит в том, чтоб тупо достать иконку и отрисовать ее на hdc: Код: vbnet 1. 2. 3.
Этот вариант безупречен. ================ Второй вариант (показался мне удобным). 1) Берем иконки из ресурсов, и наполняем ими ImageList (как я всегда делаю для Listview): Код: vbnet 1. 2. 3. 4. 5.
2) Ну и по мере необходимости достаем lngIcon и как в варианте 1 рисуем на hdc Вот так достаем: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Все это заработало, но при добавлении в проект одна иконка сглючила (т.е. чуть размылась по краям - но было заметно). Эксперимент с той же иконкой по методу 1 такого же эффекта "глючности" не дал. При этом та же иконка при добавлении на кнопку Toolbar (из ImageList) ведет себя прилично. И что самое странное, я НЕ сумел воспроизвести эффект в тестовом приложении конкретно с этой же иконкой и тем же кодом (два нижние пункта меню). Где собака зарыта? Как вообще иконки в ImageList хранятся. Предполагаю что метод 2 (ImageList_ReplaceIcon, ImageList_GetIcon ) делает двойную перерисовку и есть вероятность что ВЫХОД не равно ВХОД (и даже не тупая копия входа). Пояснит кто? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2013, 23:26 |
|
|
start [/forum/topic.php?fid=60&fpage=57&tid=2156955]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 139ms |
0 / 0 |