Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.06.07;
Скачать: [xml.tar.bz2];

Вниз

Иконка приложения   Найти похожие ветки 

 
Azazello   (2009-03-27 18:02) [0]

У меня в проекте не используется форм, нет TApplication.

В результате, в Project -> Options -> Application неактивны ее пункты. Таким образом, я не могу сделать Load Icon и выбрать иконку для своего приложения.

Понятно, что я не могу выбрать иконку для главной формы, так как ее нету. Но неужели нельзя выбрать иконку для своего приложения, говорю про ту иконку, которая отображается когда проводник "смотрит" на EXE"шник выводя список файлов?

P.S. Если уж пошел вопрос об иконках... А какого разрешения должны быть иконки для приложения? Например, стандартная иконка Delphi 7 приложений выглядит нормально, если смотреть список файлов в проводнике (иконки достаточно маленькие). Но вот если сделать ярлык на рабочем столе в Vista, то там иконки большие (больше чем в XP) и иконка уже выглядит явно кривоватой. Какого разрешения иконки использовать, как чтобы в Vista выглядело нормально, но при этом сохранить совместимость со старыми версиями windows?

Работаем на Delphi 7.


 
clickmaker ©   (2009-03-27 18:11) [1]

> Но неужели нельзя выбрать иконку для своего приложения

можно прямо в ресурсы прописать (rc или res файл)


> А какого разрешения должны быть иконки для приложения?

в простейшем случае можно ограничиться 16х16 и 32х32 256 цветов (с 16 цветами сейчас мало кто работает, особенно если приложение расчитано на что-то выше вин95)


 
Palladin ©   (2009-03-27 18:14) [2]


>  А какого разрешения должны быть иконки для приложения?

Иконка это не одно изображение, а несколько, если ты не знал.


> Но неужели нельзя выбрать иконку для своего приложения,
> говорю про ту иконку, которая отображается когда проводник
> "смотрит" на EXE"шник выводя список файлов?

поставь ее самой первой в файле ресурсов...


 
Воланд   (2009-03-27 20:37) [3]

1. Можно сделать так - открыть новый проект, добавить иконку в Options а потом удалить Unit1. Не забыв при этом почитать про ресурсы вообще и как они называются в Delphi-приложениях в часности  :)

2. Иконку делаете сложной - в ней по 2 изображения 16х16, 32х32, 48х48 и 64х64, одно из которых 16 цветов, второе хоть TrueColor. При загрузке иконки система сама выберет подходящую.


 
Игорь Шевченко ©   (2009-03-27 20:46) [4]


> У меня в проекте не используется форм, нет TApplication.



> Таким образом, я не могу сделать Load Icon и выбрать иконку
> для своего приложения


делается файл имя-проекта.rc
в нем пишется

MAINICON ICON "файл-иконки.ico"

файл компилируется brcc32.exe - получается файл имя-проекта.res

дальше все, как у бабочек


 
Azazello   (2009-03-30 13:16) [5]

Игорь Шевченко, спасибо


> Иконку делаете сложной - в ней по 2 изображения 16х16, 32х32,
>  48х48 и 64х64, одно из которых 16 цветов, второе хоть TrueColor


так... А есть нормальное бесплатное средство по работе с иконками, с RES файлами? С поставляемым "Image Editor" в D7 я вообще не разбрался даже как в готовый RES файл вставлять изображения, только по-моему рисовать можно... Удивительно.

Мне не рисовальщик нужен, а именно менеджер. Чтобы можно было несколько bitmap в ico объединить, запихнуть их в RES файл...

Способ предложенный ИШ простой, но в нем придется заместить существующий файл ресурсов.. А вдруг там уже много полезного


 
Игорь Шевченко ©   (2009-03-30 13:41) [6]


> Способ предложенный ИШ простой, но в нем придется заместить
> существующий файл ресурсов.. А вдруг там уже много полезного


во-первых, ничего не надо замещать, надо строчку добавить.
во-вторых, откуда взялся "существующий файл ресурсов", в котором может быть "много полезного" ?


 
Azazello   (2009-03-30 13:54) [7]


> во-вторых, откуда взялся "существующий файл ресурсов", в
> котором может быть "много полезного" ?


ну файл ресурсов Дельфи, понятное дело, автоматически для каждого проекта создает. То есть, он уже есть. А перекомпиляйия *rc файла ведь заменит RES файл, правильно?

Насчет "много полезного" - вопрос уже гипотетический, хотелось бы на будущее знать как делать, например в том же RES файле отрисовано с помощью того же Image Editor куча битмапов (ну допустим).

Или brcc32.exe не замещает RES файл, а ДОБАВЛЯЕТ в него ресурсы из rc файла?


 
Правильный$Вася   (2009-03-30 14:07) [8]

файлов ресурсов м.б. несколько


 
Игорь Шевченко ©   (2009-03-30 14:08) [9]


> ну файл ресурсов Дельфи, понятное дело, автоматически для
> каждого проекта создает


нет, для проекта без форм не создает


 
Azazello   (2009-03-30 17:41) [10]


> нет, для проекта без форм не создает


ну у меня в DPR есть строчка:

{$R *.res}

а разве без этой директивы ресурсы из RES будут включены в проект?


 
Правильный$Вася   (2009-03-30 17:44) [11]


> Azazello   (30.03.09 17:41) [10]

у тебя там, верояно,инфа о версии твоей проги


 
Azazello   (2009-03-30 17:56) [12]


> у тебя там, верояно,инфа о версии твоей проги

да, опция о версии включена в настройках проекта.


 
Игорь Шевченко ©   (2009-03-30 17:58) [13]


> ну у меня в DPR есть строчка:
>
> {$R *.res}
>
> а разве без этой директивы ресурсы из RES будут включены
> в проект?


ты про res, я про rc
в rc версию никто не запрещает класть


 
Azazello   (2009-03-30 18:08) [14]

почему-то не работает указанное в [4]:

Пишет: "Error project.rc 1 15: Allocate failed"

Скриншот проблемы: http://pic.ipicture.ru/uploads/090330/oi0Lg7WxJd.gif


 
Azazello   (2009-03-30 18:10) [15]

в ICO файл я запихнул иконки размером: 16x16, 32x32, 64x64, 128x128, чтобы версии windows выбирали сами какую использовать, как тут посоветовали.


 
Игорь Шевченко ©   (2009-03-30 18:39) [16]

Azazello   (30.03.09 18:10) [15]

http://coding.derkeiler.com/Archive/Delphi/borland.public.delphi.non-technical/2007-04/msg02775.html

brcc32 не умеет иконки больше чем 32х32, насколько я помню. Впрочем, могу ошибаться


 
Palladin ©   (2009-03-30 18:45) [17]


> Игорь Шевченко ©   (30.03.09 18:39) [16]

брццу пофих какие там иконки....


 
Azazello   (2009-03-30 18:53) [18]

Игорь Шевченко, ну у парня такие же проблемы, видимо. В связи с Vista иконки надо делать хорошим разрешением.. И как поступать в случае с дельфи теперь? (((

P.S. Еще не очень понятен принцип выбора системой (видимо, explorer"ом) иконок. Я так понимаю RES файл просто включается как ресурс в EXE"файл (или DLL).

Насколько я помню, в EXE могут быть любые ресурсы, у каждого свое уникальное имя. По какому принципу Explorer загружает / отображает иконки, берет первую иконку из EXE файла? Но тогда непонятно как обеспечить совместимость со всеми версиями win, чтобы и win95 смогло показать убогую иконку и Vista загрузить самую красивую.

Если windows выбирает из всех иконок наиболее подходящую по формату - как она определит какая иконка символизирует собой "рисунок exe файла", а какая является иконкой там допустим для указателя мыши... непонималь...


 
Palladin ©   (2009-03-30 19:02) [19]


> Если windows выбирает из всех иконок наиболее подходящую
> по формату

Она не из иконок выбирает, чудо, она из изображений в иконке выбирает.


 
Azazello   (2009-03-30 19:30) [20]


> брццу пофих какие там иконки....


а что за ошибка на скриншоте тогда? http://pic.ipicture.ru/uploads/090330/oi0Lg7WxJd.gif


 
Игорь Шевченко ©   (2009-03-30 19:43) [21]


> брццу пофих какие там иконки....


ты сцылку в [16] читал ?


 
Azazello   (2009-03-30 22:22) [22]

ты сцылку в [16] читал ?

читал, но с инглишом так себе, ко всему еще переводил с помощью гугла, ответ на свой вопрос не видел или не понял его (

Если там реально содержится ответ на мой вопрос - был бы рад более точной цитате, попробую перевести и вникнуть.


 
Azazello   (2009-03-30 22:25) [23]


> ты сцылку в [16] читал ?


а, это вы не мне, судя по всему...
Palladin почти в каждом посте пытается съязвить, непонятно зачем ему это, может так негативные эмоции выплескивает по поводу кризиса... хз...


 
Andy BitOff ©   (2009-03-30 22:49) [24]

Возьми Restorator и не мучайся.


 
Правильный$Вася   (2009-03-31 11:24) [25]

есть такой ресурс MAINICON, вот в него список изображений ICO-файл и записывается, и выбирается системой


 
Azazello   (2009-03-31 13:19) [26]


> есть такой ресурс MAINICON, вот в него список изображений
> ICO-файл и записывается, и выбирается системой


ясно, спасибо!

Товарищи, а есть способ делать RES файлы с иконками *ico более 32x32 то?


 
Andy BitOff ©   (2009-03-31 13:27) [27]


> Azazello   (31.03.09 13:19) [26]

Возьми IconFX и не мучайся.


 
Azazello   (2009-03-31 14:02) [28]

Эх...

Если в RES-файле сделать MAINICON как *.ico файл в виде НАБОРА картинок, то дельфя пишет ошибку:

[Error] RLINK32: Too many resources to handle.
http://pic.ipicture.ru/uploads/090331/A04Ja65cID.jpg

Фраза:
"Иконка это не одно изображение, а несколько, если ты не знал." - ладно бы относилась ко мне... Но об этом не знает, видимо, и линковщик delphi :(

Получается, даже сторонняя модификация RES-файла не спасает (делал Restorator"ом), теперь линковщик обработать не может. Выходит нельзя настроить автоматическую компиляцию D7 проекта с нормальными vista-ready иконками? ((( Или можно как-нибудь схитрить?


 
Andy BitOff ©   (2009-03-31 14:14) [29]

Фраза:
"Иконка это не одно изображение, а несколько, если ты не знал." означает, что один файл .ico содержит в себе несколько изображений.


 
Azazello   (2009-03-31 14:34) [30]


> "Иконка это не одно изображение, а несколько, если ты не
> знал." означает, что один файл .ico содержит в себе несколько
> изображений.


ну да... И?


 
Andy BitOff ©   (2009-03-31 14:42) [31]

Что "и"?
http://bitoff.pisem.net/temp/icon.png - и так до 256х256.
И это рабочий проект.


 
Azazello   (2009-03-31 14:57) [32]

Andy BitOff, у меня рабочий проект сейчас также выглядит.

Я не понимаю, что ты этим хочешь сказать? Точнее, к чему ты сделал это потрясающее пояснение? ))) Ты лучше перечитай о чем сейчас речь идет и причем тут линковщик.


 
Azazello   (2009-04-03 12:36) [33]

Если кому интересно, в результате, благодаря Розычу, выяснилась любопытная фигня. Оказывается, линкер не умеет почему-то включать в EXE"шник ресурс иконки, где хотя бы одно из изображений сделано с PNG-сжатием. И выдает соответственно:

[Error] RLINK32: Too many resources to handle.

Розыч говорит, что не только D7, но и студия обладает данной ошибкой. У меня самое большое изображение в иконке 256x256 было сделано с этим сжатием. И хотя по спецификации XP / Vista так сжимать можно (а никому другому такие большие иконки и не нужны), но парадокс в том, что дельфовый линкер не может такие сжатые изображения почему-то включить в ресурс.

Вот такая фигня.


 
Sapersky   (2009-04-03 15:49) [34]

И хотя по спецификации XP / Vista так сжимать можно

"The breaking change in Vista icons is that images in icon may be stored as PNGs"
( http://www.rw-designer.com/vista-icon )

Т.е. для XP 256*256 должна храниться как bmp. И, кстати, примеры иконок из fwiconex того же Розыча именно в несжатом формате. Brcc/линкер с ними нормально работают.


 
Azazello   (2009-04-03 17:41) [35]

Значит, PNG сжатые иконки катят только для висты+, спасибо за уточнение.

С другой стороны, Розыч вроде говорил что и в XP тоже катит, наверняка информация с сайта MS. Может быть на rw-designer.com просто ошиблись.

Ну в любом случае линкеры не способны такие иконки обрабатывать пока. В D2009 правда не проверяли, но до D2007 данная багофича присутствует.


 
Sapersky   (2009-04-03 18:50) [36]

Проверил в 2009-м - нормально цепляется сжатая иконка.
И кстати, D5/D7 вполне успешно линкуют res-файл, полученный 2009-м. Не знаю, правда, будет ли большая иконка нормально отображаться (Висты нет под рукой), но по идее должна - всё-таки загрузка иконки дело ОС, а не приложения. Так что можете выложить где-нибудь свою иконку, скомпилирую вам res-файл.


 
Azazello   (2009-04-03 19:11) [37]


> И кстати, D5/D7 вполне успешно линкуют res-файл, полученный
> 2009-м


мне кажется, просто brcc переписали и он в D2009 сжатые иконки "расжимает".

Попробуй в D2009 создать обычный проект и подменить файлик Project1.res на скачанный:

http://webfile.ru/3333374
http://ifolder.ru/11412784 - зеркало

Я думаю линкер D2009 не справится один хрен с этим.


 
Sapersky   (2009-04-03 19:30) [38]

brcc переписали и он в D2009 сжатые иконки "расжимает".

Не расжимает, размер остаётся тот же.

Попробуй в D2009 создать обычный проект и подменить файлик Project1.res на скачанный:

Там иконка другая должна быть, не дельфийская? Показывает стандартную, размер exe, правда, чуть больше, чем обычно.
Я вообще-то думал - ты мне ico, я из него делаю res, и ты его подсовываешь своему компилятору.


 
Azazello   (2009-04-03 19:47) [39]


> Там иконка другая должна быть, не дельфийская?


абсолютно не дельфийская. Посмотри любым редактором ресурсов внутрь, например Restorator.

Лучше делать подмену при вырубленной среде, имхо.


 
Sapersky   (2009-04-03 20:10) [40]

При открытии проекта ругался Invalid resource file, но скомпилировал. Иконка нестандартная, да.
Всё-таки непонятно, зачем подсовывать 2009-й какой-то кривой res файл, если можно без проблем получить его стандартными средствами этой же IDE.



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2009.06.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.005 c
15-1238708491
Kerk
2009-04-03 01:41
2009.06.07
Lazarus


2-1240312554
ZeroCrash
2009-04-21 15:15
2009.06.07
Поиск поля для ввода текста и его замена


2-1240486269
js2
2009-04-23 15:31
2009.06.07
Загрузка записей из таблицы БД


15-1238877001
Юрий
2009-04-05 00:30
2009.06.07
С днем рождения ! 5 апреля 2009 воскресенье


2-1240556887
Vladislav
2009-04-24 11:08
2009.06.07
Как внести программу в контекстное меню Windows





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский