2012-04-25 5 views
1

У меня есть приложение VB6, и один из значков формы установлен как значок приложения. Проблема в том, что в Windows 7 значок выглядит размытым, хотя значок содержит размеры 16x16, 32x32 и 48x48.Значок приложения VB6 в панели задач Windows 7 размыт

Есть ли способ обойти эту проблему? Он попробовал SendMessage (... SETICON ... ICON_BIG), но он, похоже, не работает.

+3

С какими 'hWnd' вы пытались отправить SendMessage? Попробуйте отправить его в GetParent (Form1.hWnd) ', который является скрытым владельцем каждой свободной формы VB6, которая содержит значок на вкладке Приложения в диспетчере задач. – wqw

+0

Где значок выглядит размытым? В форме или при просмотре exe в проводнике Windows? –

+0

@Matt Название гласит, что оно находится на панели задач Windows 7. – Martin

ответ

0

Я не претендую на понимание всей эвристики, используемой для выбора изображения значков для отображения в разных местах, но я думаю, что здесь происходит то, что ваше изображение 48x48 снимается и уменьшается.

Я подозреваю, что происходит с программой VB6 на многих версиях Windows, так как если 16-цветное 16x16-образное изображение отсутствует, тогда размер и размер увеличатся. Причина может быть просто связана с порядком изображений в ресурсе/файле ICO.

Если вы редактируете свой ICO и добавляете 16-цветную версию вашего изображения 16x16, ваша «проблема» может исчезнуть.

2

Какая глубина цвета значков в вашем файле ico?

VB6 (я считаю) поддерживает максимальную 8 битную глубину цвета (256 цветов) для иконок: -

Так что, если нет размера 48 х 48 иконок в 8 битной глубине цвета он может использовать ближайший матч и масштабирование до 48 х 48

EDIT:

Я просто попытался это с помощью иконки, которые не имеют 48 х 48 значок на 8-битовую (но есть 48 х 48 на более высоких глубинах) и Значок, используемый на панели задач, был 32-битным значком с глубиной цвета 8 бит.