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

Тема в разделе "Delphi - Система", создана пользователем Guest_dronic_*, 11 апр 2006.

Статус темы:
Закрыта.
  1. Guest_dronic_*

    Guest_dronic_* Гость

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

    grigsoft Well-Known Member

    Репутация:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Если та иконка что в заголовке окна, то регулярный вызов SetIcon. Как называть - без разницы, все равно сам загружаешь.

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

    Dronic Гость

    Репутация:
    0
    Если можно, то пожалуйста кусок кода.
     
  4. grigsoft

    grigsoft Well-Known Member

    Репутация:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Нельзя, сам никогда не делал (и тебе не советую :( ) но проблем не вижу - раз в секунду SetIcon с разными иконками
     
  5. Dronic

    Dronic Гость

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

    grigsoft Well-Known Member

    Репутация:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Ты отложи в сторонку ресторатор, и научись пользоваться средой в которой работаешь. Может тут кто и подскажет из пользователей Билдера как там иконкам имена назначаются.
     
  7. Dronic

    Dronic Гость

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

    grigsoft Well-Known Member

    Репутация:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    гм. Так ты в трее хочешь иконку менять? А поставить ты ее туда смог?
     
  9. Dronic

    Dronic Гость

    Репутация:
    0
    Поставил, только нормально "сворачивать" еще не научился, т.е. вроде бы все работает, но иногда подглючивает
     
  10. zubr

    zubr Гость

    Репутация:
    0
    Делал я когда то такое. Надо в домашнем компьютере в архиве покопаться, найду, кину тебе код.
     
  11. Dronic

    Dronic Гость

    Репутация:
    0
    zubr - заранее спасибо!!!
     
  12. grigsoft

    grigsoft Well-Known Member

    Репутация:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Так раз смог - в чем проблема? Просто дергаешь Shell_NotifyIcon раз в секунду с разными иконками.
     
  13. Dronic

    Dronic Гость

    Репутация:
    0
    Проблема в том, что пришлось "обмануть" программу, думаю, что я что-то не учел и где-то мои соображения не правильны.
     
  14. Barmutik

    Barmutik Гость

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

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

    Dronic Гость

    Репутация:
    0
    Всем спасибо разобрался, получилось!
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей