Набор совместимых с Windows 7 значков в приложении Delphi 2007 - PullRequest
5 голосов
/ 30 августа 2011

Как правильно определить win7-совместимый набор иконок в приложении Delphi?(переменный размер на рабочем столе)

Я разработал значок 256 * 256, а затем сделал 16 * 16, 24 * 24, 48 * 48 вариантов.(в руководстве по Microsoft UX, похоже, говорится, что эти размеры должны быть включены для правильного отображения на рабочем столе).

Я поместил все варианты значков в многослойный документ в Gimp и экспортировал весь материалкак ico.Затем я поместил его в качестве значка приложения в настройках проекта, следуя прямому способу назначения значка для приложения.

В заключение я поставил ярлык на рабочем столе Win (win7), но при создании "Ctrl + Wheel "(изменение размера значков на рабочем столе, если вы еще этого не знаете ...) на рабочем столе (Win 7), правильный значок не отображается, после 48 * 48 он остается прежним (подозреваю, что толькоиспользуется версия 48 * 48).

1 Ответ

8 голосов
/ 30 августа 2011

Значок размером 256px должен быть сжатым значком PNG.Я подозреваю, что компилятору ресурсов, поставляемому с Delphi 2007, не понравится этот формат, поэтому вам нужно использовать компилятор ресурсов MS, rc.Значок должен быть назван MAINICON.Тем не менее, я подозреваю, что растровое изображение 256px будет работать, оно будет очень большим.

Более того, IIRC, Delphi IDE не любит иконки PNG 256px, поэтому не стоит добавлять значок в проектчерез IDE.Вам нужно создать файл .res самостоятельно и связать его с директивой {$R ...}.

Наконец, возможно, что ваш файл .ico может быть неправильным.Изображение 256px фактически сохраняется с шириной и высотой, равными 0, потому что это поле имеет размер в байтах, а 0 ранее был недействительным.Возможно, это то, на что рассчитывает IDE.Проверьте файл .ico в другом инструменте, например, IcoFX.

Могут быть и другие проблемы - это те, с которыми я могу вспомнить за последние годы.Если бы мне пришлось угадывать, какая проблема вас кусала, я бы сказал, что это была неспособность IDE обрабатывать значки 256px.

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

...