Не знаю как у Вас обстоят дела в плане обновлений своих Delphi-проектов, а мне уже второй раз пришлось столкнуться с тем, чтобы не просто исправить недочеты и добавить новые функции в программу, но и «сделать красиво». Освежить, так сказать, внешний вид. Первый раз все красоты били реализованы с использованием Ribbon Controls, что послужило поводом к публикации ряда постов на эту тему в моем блоге, а также тратой некоторого количества нервных клеток. На этот раз я решил пойти другим путем — намного более простым, быстрым и, в тоже время, не менее эффективным в плане «красот».
Как я уже упоминал, со времени моего первого знакомства с AlphaControls прошло достаточно много времени и за это время проект в значительной степени вырос. В том числе и появился ряд полезных утилит, облегчающих работу с этими компонентами. Так, на странице загрузок стали доступны две, на мой взгляд, очень полезные утилиты:
- AlphaControls uninstaller.
- Utility for a projects converting from standard controls to AlphaControls.
Как понятно из названий, первая утилита корректно удаляет AlphaControls, а вторая — помогает избежать нам лишних телодвижений в плане перевода проекта под работу на новых компонентах. Проверим, такли просто и безболезненно, как утверждают разработчики, проекты переводятся на AlphaControls. Специально для этого, притащил с работы один из своих проектов. Итак, скачиваем утилиту (0,4 Mb) и запускаем её:
Жмем «Next» и выбираем файлы *.dfm подопытного проекта после чего утилита попросит нас выбрать некий план конвертирования:
Утилита может ковертировать проект как со стандартных контролов на AlphaControls, так и наоборот — с AlphaControls на стандарт. Т.к. я пользуюсь последней версией компонентов, то я выбрал предпоследний пункт «std to AC5». Жмем опять «Next» и после успешного конвертирования нам сообщают, что все супер, можно продолжать работу с проектом, а также то, что каждый конвертированный файл необходимо пересохранить в IDE:
Что ж, настало время Delphi. Открываем проект и пересохраняем каждый файл формы. Тут не стоит пугаться вот таких сообщений:
Так как их будет очень много и после нажатия «Yes» все будет хорошо :). После того, как все файлы будут пересохранены и дополнительные модули от AlphaControls автоматически добавятся в uses, нам остается совсем немного, а именно:
1. Добавить на форму главного модуля компонент SkinManager
2. Указать путь к скинам
3. Слегка подработать модуль настроек приложения — добавить возможность выбора скина пользователем и т.д.
И все. На этом вся работа по «наведению красоты» в проекте закончена и можно не отвлекаясь работать над новыми функцями своего проекта.
Не знаю прав или нет, но иногда так и хочется оторвать руки всем, кто делает свои программы с поддержкой таких тем оформления (именно тем контролов, а не самой программы, что более глобально), вместо того чтобы нормально использовать ThemeAPI.
Как итог — очень жутко смотрятся эти псевдо-темизированные программы на ПК у которых стоит своя тема оформления.
Даже и не знаю, когда такие «темы» действительно необходимы.
Кстати отличные компоненты. Сразу преобразуют внешний вид формы.
Только password edit кажется глючит : не маскирует символы или у меня что-то
Shedko, скины скинам рознь. Есть темы, которые не режут глаз и выглядят похоже на дефолтные темы Винды. Хотя это конечно не оправдание от отказа по поддержке ThemesAPI.
С другой стороны, чтобы заставить нормально поддерживать темы, программы написанные на версии Delphi младше 7й иногда приходится конкретно поплясать с бубном.
И ещё, к слову контролы из AlphaSkins при перерисовке мерцают меньше чем стандартные.
Тупо идет replace в dfm
пс у тебя тут зарегиться можно??
Можно, только зачем? Этож блог, тут что с регой, что без реги комментарии публикуются. Другое дело, если есть желание стать соавтором — тогда рега нужна.
ДА просто тут Алексеев полно :))).
Да соавтором стать могу, но писать красиво как ты не умею, так что если проверять будешь после меня :))))
Так на gravatar.com зайди поставь себе уникальный аватар :)