Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Delphi

Ответ
 
Опции темы
Старый 14.01.2010, 17:09   #1
Winner
Нуждающийся
 
Регистрация: 28.09.2008
Сообщений: 98
Написано одно полезное сообщение
Иконка (Icon)

Написал программу, которая сворачивается в трей и реагирует на горячие клавиши. Добавил кнопку включения/выключения горячих клавиш и в добавок к этому хочу еще менять иконку в трее. Т.е. если горячие клавиши включены, в трее иконка меняется на зеленую, а если отключены - на красную.

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

Нельзя как-нибудь эти обе иконки добавить в программу и чтобы их не приходилось загружать из файла?
(Offline)
 
Ответить с цитированием
Старый 14.01.2010, 19:11   #2
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Иконка (Icon)

Простейший вариант - использовать TImageList.
Также можно прилинковать иконки к программе в виде ресурсов, и потом извлекать их, конкретного примера под рукой нет, но в инете найдется.
(Offline)
 
Ответить с цитированием
Старый 14.01.2010, 19:48   #3
Winner
Нуждающийся
 
Регистрация: 28.09.2008
Сообщений: 98
Написано одно полезное сообщение
Ответ: Иконка (Icon)

Промучался с ImageList - ничего не получилось, погуглил и нашел вот этот вариант.
(Offline)
 
Ответить с цитированием
Старый 15.01.2010, 10:50   #4
WaReZ_MEN
Модератор
 
Регистрация: 20.06.2006
Сообщений: 363
Написано 24 полезных сообщений
(для 44 пользователей)
Ответ: Иконка (Icon)

есть компонента RxLIb там была такая приблуда...
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Randomize (20.01.2010)
Старый 20.01.2010, 08:40   #5
Trazzy
Разработчик
 
Аватар для Trazzy
 
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений
(для 225 пользователей)
Ответ: Иконка (Icon)

Вот еще вариант. Думаю тебе подойдет в самый раз...

...то, о чем говорил ViNT
Сообщение от ViNT Посмотреть сообщение
Также можно прилинковать иконки к программе в виде ресурсов, и потом извлекать их, конкретного примера под рукой нет, но в инете найдется.
Пример (c) ArtikZ

Создаешь обычный текстовый документ с расширением .rc и помещаешь в него свои "иконки". Пример файла "sample.rc":

imya1 RCDATA LOADONCALL путь_к_иконке/icon1.ico
imya2 RCDATA LOADONCALL путь_к_иконке/icon2.ico
imya3 RCDATA LOADONCALL путь_к_иконке/icon3.ico
потом через brcc32.exe делаешь .res файл..
через коммандную строку это будет выглядеть так:

brcc32.exe путь_к_файлу/sample.rc
получаешь файл "sample.RES"... Подключаешь его к своей программе и берешь из него иконки. Примерно так:

...
var
  Form1: TForm1;
  Res: TResourceStream;

implementation

{$R *.dfm}
{$R sample.RES}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Res := TResourceStream.Create(Hinstance, 'imya2', RT_RCDATA);
  //возьмет 2ю иконку
    try
      Image1.Picture.Icon.LoadFromStream(res);
      //рисуем иконку в TImage
     {
     Application.Icon.LoadFromStream(res);
      //делаем imya2 иконкой нашего приложения
     }
    finally
      Res.Free;
    end;
end;

...
Удачи!
__________________
Уважай собеседника, а лучше подари ему +

Последний раз редактировалось Trazzy, 20.01.2010 в 09:50.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Winner (21.01.2010)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 18:55.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com