Форум: "Основная";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];
ВнизАнимированный Gif в SysTray Найти похожие ветки
← →
shelest (2002-07-10 11:42) [0]Как заменить иконку в SysTray на анимированный GIF?
Пример The Bat.
← →
Kaban (2002-07-10 11:51) [1]так там не анимированный gif, там просто в потоке или по таймеру (я уж не знаю как) обновляется иконка
← →
Opuhshii (2002-07-10 11:51) [2]меняй иконку сам,... в трее imho только BITMAP
← →
Tornado (2002-07-10 11:53) [3]не знаю как на анимированный GIF, но есть такой компонент TrayIcon, он позволяет делать анимацию, просто втыкаешь в него несколько картинок (например через Imagelist) и он их будет показывать друг за другом, что и создаст эффект анимации (хотя GIF работает точно также - набор картинок, сменяющихся с равным промежутком времени). В БАТЕ я думаю используется тоже самое.
← →
tsarevep (2002-07-10 14:03) [4]Если тебе нужно как в TheBat"e
Вот из FAQ
Увидев анимацию на форме, мы не удивимся, но сейчас нам предстоит освоить более сложную технологию: мы попытаемся анимировать иконку приложения, ту самую, которая находится на панели задач на кнопке нашего exe-файла!
Сначала нужно будет создать каждый кадр потенциального анимационного клипа. Для этого запустим утилиту "Image Editor", которая в ходит в стандартный пакет Delphi. Запустить её можно одноимённой командой из меню Tools[инструменты]. Там создаём несколько bmp-файлов размером 16х16.
После чего возвращаемся в Delphi и выносим на форму компонент класса TImageList, дважды щёлкаем на нём и с помощью кнопки Add последовательно добавляем созданные кадры. В каком порядке изображения будут добавляться, в таком же порядке они затем будут выводится.
Далее выносим таймер[Timer], его свойство Interval устанавливаем в нужное значение[например - 5], и именно через заданное здесь количество миллисекунд будут меняться кадры. По событию OnTimer пишем такой код:
ImageList1.GetIcon(iconindex,Application.icon);
iconindex:=iconindex+1;
if iconindex>5 then iconindex:=0;
В строке [if iconindex>5 then iconindex:=0;] число 5 замените на индекс последней иконки в вашем ImageList"e[это количество иконок -1]
Не забудьте объявить глобальную переменную iconindex, которая должна быть целочисленного типа[integer]
А по созданию окна инициализируйте иконку приложения первым изображением в списке:
iconindex:=0;
ImageList1.GetIcon(iconindex,Application.icon);
Посмотрите на иконку программы ACDSee, которая показана в левом верхнем углу. На ней изображён глаз. По-моему, было бы довольно эффектно, если бы время от времени он подмигивал пользователю!
Сам не пробывал.
Ну а если в трей иконку уж компонентов куча!!!!!!!!!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c