Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #53, АПРЕЛЬ 2005 г.

Выделка шкурок в домашних условиях

6th (6th@mail.ru)

Спецвыпуск: Хакер, номер #053, стр. 053-080-2


AlphaControls (www.alphaskins.com) - честно говоря, не наш выбор. Сама библиотека довольно проста в использовании, но столь же просты ее возможности. Готовых скинов немного, утилиты для быстрого и легкого создания собственных шкур не наблюдается.

SUISkin (www.sunisoft.com/suiskin) - как утверждали создатели, "самый простой компонент для Delphi". И не соврали: чтобы включить поддержку скинов, достаточно просто кинуть на форму один компонент, существующие контролы "заскиновываются" автоматически. Очень удобно, если нужно добавить шкурки в уже написанную программу.

SUIPack (www.sunisoft.com/suipack) уже ближе к тому, что было бы приятно использовать. Продукт той же конторы, но помощнее. Активно развивается, прост в использовании, богат возможностями. Кроме вещей, связанных непосредственно со скинами, обладает возможностями для создания нестандартного интерфейса – непрямоугольных форм и т.п.

DynamicSkinForm (www.almdev.com) - регулярно обновляющийся проект, предлагает все то же, что и другие, плюс еще дюжину уникальных особенностей. Имеется SkinBuilder – программа, упрощающая создание собственных скинов, et cetera et cetera. Также Almediadev предлагает BusinessSkinForm – библиотеку для приложений, активно использующих различные таблицы, MDI и т.п.

ThemeEngine (www.ksdev.com/themeengine) - бывший SkinEngine. Если бы не мое давнее пристрастие к DynamicSkinForm, выбрал бы именно эту библиотеку. Ничем не хуже, честное слово! Имеется ThemeWizard - утилита для натягивания скинов без изменения кода - и масса других, не менее удобных в использовании наворотов.

Пишем плеер

Не знаю как ты, но я при слове "скины" в первую очередь вспоминаю Winamp. "Шкурный механизм" там реализован действительно очень качественно. Что-то на уровне WinAmp нам, конечно, с ходу не написать, но почему бы не попробовать? Как реализовать в своей программе поддержку скинов, написав простенькую программку - плеер? Я даже уже придумал ему название - QDMP (Quick & Dirty Media Player). Будем писать на Delphi, а в качестве skins-engine возьмем мой любимый DynamicSkinForm.

Прежде всего отправляйся на www.almdev.com/main/downloads.htm и качай библиотечку для своей версии Delphi. А если художественный талант у тебя, как и у меня, отсутствует в принципе, возьми там же базовую коллекцию скинов.

Библиотека устанавливается стандартно: распаковываем, в Delphi идем в Component->Install Packages, жмем Add и выбираем skinpackD7.bpl (для седьмой версии). После этого на палитре компонентов должны обосноваться две новые вкладки: Skin Pack и Skin Pack Dialogs. Можно приступать к программированию.

Первое, что надо сделать – поместить на форму spSkinData, который будет использоваться для открытия файла со шкуркой, а все остальные компоненты, в том числе форма, должны быть к нему привязаны.

На следующем шаге нужно поместить на форму компонент spDynamicSkinForm, который будет "натягивать" выбранный скин на программу. Его необходимо привязать к spSkinData через параметр SkinData. Если теперь запустить приложение, то все будет выглядеть весьма скромно, потому что spSkinData пока не ссылается ни на один скин. Ниже я объясню, как это поправить.

Назад на стр. 053-080-1  Содержание  Вперед на стр. 053-080-3