Что нового

Анимированная иконка в системном трее

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 702
AutoIt: 3.3.0.0
Версия: 1.2

Категория: Система, Элементы GUI

Описание: Создает анимированную иконку в системном трее. UDF очень прост в использовании, единственное, что может вызвать затруднение - это собственно создание этих самых анимированных иконок (кадров). Поддерживаются как отдельные иконки (кадры), так и анимированный PNG (не путать с APNG). Ну и как всегда отличный пример от меня (файл Flag.png в архиве).

Файл(ы): Animate.zip

Пример:
Код:
#Include <GUIConstantsEx.au3>
#Include <SliderConstants.au3>
#Include <StaticConstants.au3>
#Include <WindowsConstants.au3>

#include "Animate.au3"

Opt('MustDeclareVars', 1)
Opt('TrayAutoPause', 0)

Global $Button, $Slider, $Msg

_Animate_LoadFromFile(@ScriptDir & '\Flag.png')

;~For $i = 1 To 12
;~  _Animate_AddIcon(@ScriptDir & '\Flag\' & $i & '.ico', 0)
;~Next

_Animate_SetDelay(50)
_Animate_ShowIcon()

GUICreate('Animation Test', 400, 110)
GUICtrlCreateLabel('Fast', 10, 30, 28, 14, $SS_RIGHT)
GUICtrlCreateLabel('Slow', 355, 30, 28, 14)
$Slider = GUICtrlCreateSlider(42, 25, 310, 26, BitOR($TBS_AUTOTICKS, $WS_TABSTOP))
GUICtrlSendMsg(-1, $TBM_SETTICFREQ, 10, 0)
GUICtrlSetLimit(-1, 250, 10)
GUICtrlSetData(-1, 50)
$Button = GUICtrlCreateButton('Start', 160, 75, 80, 25)
GUICtrlSetState(-1, BitOR($GUI_DEFBUTTON, $GUI_FOCUS))
GUISetState()

While 1
	$Msg = GUIGetMsg()
	Switch $Msg
		Case $GUI_EVENT_CLOSE
			ExitLoop
		Case $Slider
			_Animate_SetDelay(GUICtrlRead($Slider))
		Case $Button
			If _Animate_IsAnimate() Then
				GUICtrlSetData($Button, 'Start')
				_Animate_Stop()
			Else
				GUICtrlSetData($Button, 'Stop')
				_Animate_Start()
			EndIf
	EndSwitch
WEnd

Скриншот:

[flash=149,30]http://yashied.ru/ProjectFiles/Miscellaneous/Flag.swf[/flash]

Источник: Animate UDF (оффициальный форум)
Автор: Yashied
 
V

VitAl2013

Гость
Гдеб почитать как создавать такой png (например в GIMP)? Всё что нахожу ведёт меня к APNG... :(
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 551
Репутация
930
Если мне память не изменяет, твой "анимированный" пнг - это просто покадровый набор слоев который послойно отображается софтиной. По крайней мере если память мне не изменяет, когда я делал темы для Aston Shell, именно так я делал там анимированные иконки и изображения.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 702
Belfigor сказал(а):
Если мне память не изменяет, твой "анимированный" пнг - это просто покадровый набор слоев который послойно отображается софтиной. По крайней мере если память мне не изменяет, когда я делал темы для Aston Shell, именно так я делал там анимированные иконки и изображения.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 702
Обновил библиотеку до версии 1.2.

Список изменений:
  • Улучшено отображение иконок, которые были загружены из PNG файлов с помощью _Animate_LoadFromBitmap() или _Animate_LoadFromFile() функций.
  • Заголовок AutoIt окна теперь не изменяется.
  • Улучшен код.
 

pboy

Чайник
Сообщения
18
Репутация
0
Перезалейте, пожалуйста, файл библиотеки!
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 702
Так скачайте с официального сайта.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 159
Репутация
2 329
Yashied
Поправил ссылку в первом сообщений.

И ещё, думаю неплохо бы добавить в начало библиотеки:
Код:
#Au3Stripper_Ignore_Funcs=_AI_Timer

чтобы предотвратить проблемы со стриппером.
 
Верх