Смена иконок в проекте

  • Автор темы Guest_dronic_*
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest_dronic_*

Подскажите пожалуйста, как во время работы моей программы можно менять иконки (видел у некоторых программ как иконки изменяются через 1 сек - этакое слайдшоу). Как это можно реализовать и как правильно называть иконки в файле ресурсов?
 
G

grigsoft

Если та иконка что в заголовке окна, то регулярный вызов SetIcon. Как называть - без разницы, все равно сам загружаешь.

Только не забудь добавить возможность отключения этого эффекта, многим это не нравится.
 
D

Dronic

Если можно, то пожалуйста кусок кода.
 
G

grigsoft

Нельзя, сам никогда не делал (и тебе не советую :( ) но проблем не вижу - раз в секунду SetIcon с разными иконками
 
D

Dronic

SetIcon не получилось,
попробовал LoadIcon(Instance: THandle; IconName: PChar): HIcon;
IconName - имя иконки в ресурсе, но возникает баг:
Изменяю с помощью ресторатора файл ресурса, переименовываю иконки, а при компилировании имена иконок в EXEшнике 1,2,3 и т.д.
Пришлось переименовывать иконки тем же ресторатором уже в EXEшнике при последующих компиляциях все нормально. Причем имена иконок сохраняются только у тех, к которым происходит обращение.
Может быть кто сможет подсказать почему сразу не получается, чтобы у иконок были те имена, что я хочу уже при первой компиляции?
 
G

grigsoft

Ты отложи в сторонку ресторатор, и научись пользоваться средой в которой работаешь. Может тут кто и подскажет из пользователей Билдера как там иконкам имена назначаются.
 
D

Dronic

Ты отложи в сторонку ресторатор
Я только начинаю програмировать на Delphy, просто хочу сделать прогу, которая будет висеть в трее и в зависимости от состояния изменять иконку.
А ресторатором проще заниматься плагиатом, т.к. иконки в Shell32.dll меня вполне устаивают. Но если кто поможет добрым советом буду очень благодарен
 
G

grigsoft

гм. Так ты в трее хочешь иконку менять? А поставить ты ее туда смог?
 
D

Dronic

Поставил, только нормально "сворачивать" еще не научился, т.е. вроде бы все работает, но иногда подглючивает
 
Z

zubr

Делал я когда то такое. Надо в домашнем компьютере в архиве покопаться, найду, кину тебе код.
 
G

grigsoft

Так раз смог - в чем проблема? Просто дергаешь Shell_NotifyIcon раз в секунду с разными иконками.
 
D

Dronic

SetIcon не получилось,попробовал LoadIcon(Instance: THandle; IconName: PChar): HIcon;IconName - имя иконки в ресурсе, но возникает баг:Изменяю с помощью ресторатора файл ресурса, переименовываю иконки, а при компилировании имена иконок в EXEшнике 1,2,3 и т.д.Пришлось переименовывать иконки тем же ресторатором уже в EXEшнике при последующих компиляциях все нормально. Причем имена иконок сохраняются только у тех, к которым происходит обращение.Может быть кто сможет подсказать почему сразу не получается, чтобы у иконок были те имена, что я хочу уже при первой компиляции?
Проблема в том, что пришлось "обмануть" программу, думаю, что я что-то не учел и где-то мои соображения не правильны.
 
B

Barmutik

Да использовать любой готовый компонент .. например из комплекта Jedi - TJvTrayIcon - она автоматически умеет анимировать иконку в трэе по TImageList..

Просто сначала по-моему вопрос был поставлен как менять иконку в главном окне программы а не в трэе...
 
D

Dronic

Всем спасибо разобрался, получилось!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!