
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
26.05.2013, 23:26
|
|||
|---|---|---|---|
Конвертация 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 ) делает двойную перерисовку и есть вероятность что ВЫХОД не равно ВХОД (и даже не тупая копия входа). Пояснит кто? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=60&mobile=1&tid=2156955]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 137ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...