Значок приложения VB6 на панели задач Windows 7 размыт

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

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


person A9S6    schedule 25.04.2012    source источник
comment
К какому hWnd вы пытались SendMessage? Попробуйте отправить его GetParent(Form1.hWnd), который является скрытым владельцем каждой бесхозной формы VB6, которая содержит значок на вкладке «Приложения» в диспетчере задач.   -  person wqw    schedule 25.04.2012
comment
Где значок выглядит размытым? В форме или при просмотре exe в проводнике Windows?   -  person Matt Wilko    schedule 26.04.2012
comment
@Matt В заголовке указано, что он находится на панели задач Windows 7.   -  person Martin    schedule 26.04.2012


Ответы (2)


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

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

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

РЕДАКТИРОВАТЬ:

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

person Matt Wilko    schedule 26.04.2012

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

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

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

person Bob77    schedule 26.04.2012