Как изменить размер Windows Icon Overlay?
Я сделал значок наложения на мой файл, *.myfile
, но размер наложения неверен. Когда значок отображается размером 16x16, наложение закрывает значок.
Как я могу изменить размер наложения? (IShellIconOverlayIdentifier
)
1 ответ
Вы не можете изменить размер наложения. Вместо этого используйте файл значков с несколькими разрешениями, где доступны все необходимые размеры.
Для хорошего примера взгляните на источник TortoiseSVN. Их будет использовать только один файл значков, но если вы откроете его с помощью подходящего инструмента рисования, вы увидите, что этот файл имеет разные размеры.
Обновить
Если вы посмотрите прямо на первый метод, вы получите следующий комментарий:
"Оболочка вызывает IShellIconOverlayIdentifier::GetOverlayInfo, чтобы запросить местоположение наложения значка обработчика. Обработчик наложения значка возвращает имя файла, содержащего изображение наложения, и его индекс в этом файле. Затем оболочка добавляет наложение значка в систему. список изображений."
В строке 129 видно, что он пытается найти путь к нужному файлу из реестра. Просматривая код, вы можете найти иконки в Subversion здесь. В строке 165 вы можете видеть, что он берет имя файла из реестра и записывает его обратно в свои параметры out, и, возможно, волшебный флаг, позволяющий окнам решать, какой размер должен быть взят из файла, *pdwFlags = ISIOI_ICONFILE;
,