Надоело мне ковыряться с VCL библиотеками и решил я попробовать что есть такое FireMonkey.
Для примерчика попробовал оживить вот такие вот часики.
Решил не заморачиваться с фигурным вырезанием стрелок, а просто удалил их в фотошопе. Потом вырезал сами часы из фона и сохранил их как png с прозрачным фоном.
Далее, создал новый проект FireMonkey Desctop Application
На форму кидаем объект TImage. Но у него не оказалось свойства Picture, как у аналогичного в VCL. Зато есть MultiResBitmap. Значит сюда и загрузим наш циферблат.
Далее, во вкладке Shapes находим объекты TRectangle.
Рисуем из них стрелки (часовую, минутную и секундную).
Для их позиционирования вместо привычных Top и Left используем проперти Position (x, y). Должно получиться что-то в этом роде:
Стрелки я для удобства переименовал в aHour, aMin, aSec.
Теперь для каждой стрелки в свойстве RotationAngle создаем TFloatAnimation. И выставляем для следующие проперти. Enabled=true; Loop=true; StartValue=0; StopValue=360. Duration для секундной стрелки 60, для минутной 3600, для часовой 86400.
Анимации я переименовал в anHour, anMin, anSec.
У меня получилась вот такая структура объектов на форме.
Не забываем указать центр вращения стрелок в пропертях RotationCenter x=0,5 y=0,98.
Пока не забыли, ставим проперти формы Transparency=true.
Наши часы готовы. Теперь необходимо выставить на них правильное время.
Так как вы делаем форму невидимой, то кнопки закрытия окна у нас тоже отсутсвуют. Я решил закрывать программу по двойному клику мышкой на часах. Соответственно в событии OnblClick прописал Close();
Также я решил чтобы мои часы распологались в правом верхнем углу. Соответственно в проперти формы Top я записал ноль, а в проперти Left нужно записать значение (ширина разрешения экрана минус ширина формы). Но вот незадача, так просто, как в VCL (Screen->Width) определить разрешение экрана не получится. Пришлось брать ширину экрана из структуры TSize.
Ну че сказать молодец,часики работают верно .Единственно доведи их до уровня полноценного гаджета рабочего стола ,с управлением и сменой расположение и все.
кстати эти часики то простенькие но ведь можно нашлепать и красивый стимпанк и например вот такие Уверен будут скачивать многие для украшения рабочего стола.
Цитата:
Сообщение от MASTERMIND
Тот кто редачит мои подписи сосет у меня за обе щеки
Мне было интересно просто попробовать возможности FMX. К сожалению особо много времени посвящать этому не могу (на эти часы я потратил пол часа), работаю в других направлениях. А так ради забавы выложил, может кто захочет - разовьет дальше.