Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ico in DLL 
V
    Опции темы
MIX55
Дата 2.3.2006, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


много работы
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 208
Регистрация: 23.10.2005
Где: Здесь

Репутация: 3
Всего: 4



Как можно поместить несколько иконок в DLL'ку а затем использовать в приложении. smile
Всем заранее спасибо.
--------------------
Hарод, а как в дельфи писать паскалевские проги....?*********************************************Жизнь слишком коротка, чтобы писать на Assembler'e
PM MAIL ICQ   Вверх
Poseidon
Дата 2.3.2006, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Как ресурсы


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
MIX55
Дата 2.3.2006, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


много работы
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 208
Регистрация: 23.10.2005
Где: Здесь

Репутация: 3
Всего: 4



Цитата

Как ресурсы

А можно пример или где можно почитать.
--------------------
Hарод, а как в дельфи писать паскалевские проги....?*********************************************Жизнь слишком коротка, чтобы писать на Assembler'e
PM MAIL ICQ   Вверх
Snowy
Дата 2.3.2006, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Код

var
  h: hIcon;
begin
  h := ExtractIcon(hInstance, 'my.dll', IconNumber);
где IconNumber - номер иконки, начиная с 0.
PM MAIL   Вверх
Poseidon
Дата 2.3.2006, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Snowy показал как использовать, вот тут описано как поместить.


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
MIX55
Дата 2.3.2006, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


много работы
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 208
Регистрация: 23.10.2005
Где: Здесь

Репутация: 3
Всего: 4



это как я понимаю импорт из Dll.
Snowy респект.
А как туда эту иконки затолкать?
--------------------
Hарод, а как в дельфи писать паскалевские проги....?*********************************************Жизнь слишком коротка, чтобы писать на Assembler'e
PM MAIL ICQ   Вверх
Snowy
Дата 2.3.2006, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Если dll твоя, то делаешь так:
Создаешь файлик "имя_файла.rc".
Пишешь в него:
Цитата
MYICON ICON myicon.ico
ZWEUICON ICON zweiicon.ico
и т.д.
Компилишь этот файл:
Цитата
brcc32 имя_файла.rc

Получается файлик "имя_файла.res".
В своей программе добавляешь строчку:
Код
{$R имя_файла.res}

Все. Иконка inside.

Далее. Как доставать и использовать иконку.
Вот пример:
Код
uses ShellApi;

function GetIcon(dll: string; num: integer): TIcon;
var
  h:  hIcon;
begin
  h := ExtractIcon(hInstance, PChar(dll), num);
  if h > 1 then
  begin
    result := TIcon.Create;
    result.Handle := h;
  end else result := nil;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  ico: TIcon;
begin
  ico := GetIcon('C:\WINDOWS\system32\shell32.dll', 15);
  Icon := ico;
  ico.Free;
end;


PM MAIL   Вверх
MIX55
Дата 2.3.2006, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


много работы
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 208
Регистрация: 23.10.2005
Где: Здесь

Репутация: 3
Всего: 4



Цитата

Пишешь в него:
MYICON ICON myicon.ico
ZWEUICON ICON zweiicon.ico

Snowy а сами иконки куда надо помещать?
Добавлено @ 22:40
Цитата

Пишешь в него:
MYICON ICON myicon.ico
ZWEUICON ICON zweiicon.ico

Snowy а сами иконки куда надо помещать?
--------------------
Hарод, а как в дельфи писать паскалевские проги....?*********************************************Жизнь слишком коротка, чтобы писать на Assembler'e
PM MAIL ICQ   Вверх
Poseidon
Дата 2.3.2006, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



В одну папку с "имя_файла.rc"


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Guedda
Дата 2.3.2006, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Легче всего, если иконки расположены в папке с утилитой bcc32... Но можно и по другому. Прописывай полный путь к иконкам. Пример:
Код

MYICON ICON C:\MyIcons\MyIcon.ico



--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Snowy
Дата 2.3.2006, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Poseidon @ 2.3.2006, 22:40 Найти цитируемый пост)
В одну папку с "имя_файла.rc"
А точнее сами иконки и это файл кидай в папку с проектом. Ну или в любую папку.
Главное, чтобы скомпиленный res файлик в итоге был в папке с проектом.

Цитата(Guedda @ 2.3.2006, 22:42 Найти цитируемый пост)
Легче всего, если иконки расположены в папке с утилитой bcc32...
А вот так не будет работать.
PM MAIL   Вверх
Guedda
Дата 3.3.2006, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Интересно... Почему же не будет работать? Я всегда так делаю. Кидаю в папку с bcc32 иконки и там же создаю файл *.rc. Потом компилю, и все нормально. Может, ошибку делаю? Объясни, пожалуйста...


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Snowy
Дата 3.3.2006, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Poseidon @ 2.3.2006, 22:40 Найти цитируемый пост)
В одну папку с "имя_файла.rc"
А кидать в папку с brcc32 совершенно незачем.
А работать не будет, если иконки не в той же папке, где и *.rc
PM MAIL   Вверх
SlaUr
Дата 3.3.2006, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 408
Регистрация: 18.9.2003

Репутация: 3
Всего: 5



http:\slaur.narod.ru - пример работы с ресурсами
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0599 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.