Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > СРОЧНО! Как создать MyRes.res


Автор: Chyslyvchyk 30.7.2004, 16:40
Как создать MyRes.res ?
Пытаюсь создать иконку к exe-файлу... Инфа взята http://forum.vingrad.ru/index.php?act=ST&f=32&t=831 Там целый проект-пример, сделанный LENIN INC показывающий различные приёмы работы с ресурсами. Только не описано откуда брать MyRes.res :о(((

Автор: <Spawn> 30.7.2004, 16:57
Самый простой вариант: Tools->Image Editor->File->New->Resource File, а там разберешься. Если есть, например, Visual Studio .NET, то можешь воспользоваться его редактором - он более продвинутый

Автор: Chyslyvchyk 30.7.2004, 17:10
У меня уже есть картинка, ее нужно загрузить.
На FormCreate повешано:
Код
Application.Icon := Image1.Picture.Icon;
InvalidateRect(Application.Handle, NIL, True);

Иконка загружается, когда прога загружается. Внизу на панели название проги и иконка. А как сделать, чтобы exe-файл был с иконкой, что я хочу?

Автор: Alkash 30.7.2004, 17:37
Linker/options.......Там выбери свою иконку и нечего мучаться....

Автор: Chyslyvchyk 30.7.2004, 17:41
http://narod.yandex.ru/cgi-bin/yandmarkup?cluster=14&prog=0x2757571A&HndlQuery=156208928&PageNum=1&g=18&d=0&q0=1005837456&p=1 Было найдено следующий текст:
Цитата
Если ваша   иконка   хранится в компоненте Image (видимым или иным способом), вы можете написать:
Код
Application.Icon := Image1.Picture.Icon;

Если в файле ресурса:
Код
Application.Icon.Handle := LoadIcon(hInstance, 'ICONNAME');

В любом случае для форсирования показа   иконки   необходимо вызвать следующую функцию:
Код
InvalidateRect(Application.Handle, NIL, True);

.. и новая   иконка   предстанет свету.
  Иконка  , расположенная в .RES-  файле  , должна быть видима в .EXE-  файле  , к примеру, при просмотре   файла   посредством Program Manager.   Иконка  , расположенная в компоненте Image, в этом случае не видна..

У меня работает только когда иконка в Image1. Если работать с ресурсами, то мало того, иконка меняется только внизу на панели (где прога сворачивается), так еще и не на ту.... А exe-файл вообще осталась иконка Delphi. :о(

Добавлено @ 17:43
Цитата(Alkash @ 30.7.2004, 17:37)
Linker/options.......Там выбери свою иконку и нечего мучаться....

Это где?? Может options/Linker... ? Но там нет ничего связанногос иконками. Может options/application - так там стоит моя иконка, а толку мало...

Автор: Illusion Dolphin 30.7.2004, 17:44
Я для этих целей бы посоветовал сначала обзовестись программой Restorator (у яндекса спроси) - это для того чтобы с ресурсами было можно делать всё, что только пожелаешь. В ней создаёшь res-файл, потом ложешь его в папку со всеми исходниками и в главном модуле пишешь (можно и в другом месте)
Код

....
implementation

{$R My_res_file.res}
....

А после делаешь так:
Код

...
var ico : TIcon;
begin
ico:=TIcon.create;
ico.handle:=LoadIcon(HInstance,'Name_Ico_Res');
...


а потом юзаешь ico как захочется. 'Name_Ico_Res' - имя иконки в файле ресурсов, обычно всё пишется БОЛЬШИМИ БУКВАМИ.
Добавлено @ 17:46
Ой, немного перебрал... Первая иконка в этом файле ресурсов в разделе иконок и есть иконка приложения 8). Restorator ищи...
Добавлено @ 17:48
Конечно, надо учитывать, что у приложения есть уже стандартный файл ресурсов, и его тоже надо учитывать, т.к. в конечном приложении иконки обеих файлов ресорсов сложатся и какая будет первой - надо подумать :/...

Автор: Chyslyvchyk 30.7.2004, 18:13
УРЯЯЯЯ!!! Пасиба, Illusion Dolphin!!!
adv/dancer.gif

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)