Updated: Dec 16, 2023
Follow on twitter

Редактор скинов

Программа ASkinEditor.exe предназначена для визуального изменения файла настроек скина Options.dat.

Кнопка "Creation wizard" запускает мастер создания нового скина. Вначале должно быть определено название для нового скина, затем - основная цветовая гамма. Файл Master.bmp генерируется автоматически и вначале содержит минимальный набор изображений. После добавления новых изображений в графическом редакторе и сохранения файла MasterBitmap необходимо выбрать соответствующее изображение в редакторе скинов для каждого элемента интерфейса, который их использует.

Для предварительного просмотра редактируемого скина используется программа AskinDemo.exe, которая распространяется вместе с редактором скина. Если путь к ней не задан, то программа попросит найти AskinDemo.exe. Предварительный просмотр включается с помощью чекбокса “Changes preview...”. После каждого изменения скина программа предварительного просмотра обновляется с учетом последних изменений.

На странице "General skin options / General info" можно указать автора скина, версию пакета AlphaControls, совместимую со скином и другую информацию.

Секции скина

На странице "Sections" находится список всех секций в скине (рис.5). Каждая секция соответствует определенному типу компонентов (например "EDIT") или их элементам (например "COMBOBTN", “DIVIDER”, “EXTRALINE”, “SCROLLBAR1H”).

Большинство свойств секций одинаковы ("TRANSPARENCY", "COLOR" и т.п.). Благодаря этому секции являются совместимыми и их можно менять в свойстве SkinData.SkinSection компонента, меняя его вид. В зависимости от значения этого свойства можно заставить рисоваться панель, например, как кнопка (секция “BUTTON”) или как форма (“FORM”).

Можно также добавлять неограниченное множество своих секций для создания компонентов со своим собственным уникальным видом. Но есть свойства, относящиеся только к некоторым секциям (например "GLYPHMASK" в "COMBOBOX" или "SCROLLSLIDERH"). Общие свойства находятся на вкладках "Borders" и "Normal state". Дополнительные вкладки, такие как "Active", "Corner images", "Animation", "Trackbar data" появляются только при выборе некоторых секций. В окне "Options" можно настроить редактор - какие свойства и в каких вкладках должны показываться (закладка "Sections lists").

Вкладка Borders

Поле редактирования “Control borders” на странице “Borders” позволяет определить координаты рисунка рамки в файле MasterBitmap, а также другие параметры, необходимые при рисовании рамок. Конечно это поле может быть неопределено, тогда контрол будет рисоваться без рамок.

При нажатии на кнопку, соответствующую этому полю, вызывается форма “Image selection for property” (рис.6). Большую часть формы занимает увеличенный MasterBitmap (масштаб изображения можно менять), в котором можно выделить координаты изображения для текущей секции (на примере выделена рамка для секции “TOOLBAR”). В этой форме :

  • "Use mask" должно быть установлено, если используются маски (в данном случае не используются).
  • "States count" задает количество состояний элемента управления, определяемое рисунком. Т.е. чтоб задать для кнопки обычное, выделенное и нажатое состояния, нужно нарисовать их в MasterBitmap вместе, выделить в редакторе скинов все три состояния и установить StatesCount в 3.
  • "Stretch" указывает, что стороны рисуются растягиванием рисунка на всю сторону контрола, иначе сторона будет рисоваться путем повторения исходной части.
  • "Active only" указывает, что стороны компонента будут рисоваться только если он активен (focused) или выделен.
  • "Center filling" указывает, что центральная часть компонента также должна заполняться исходным рисунком.
  • Значения BorderWidth задают ширины каждой стороны – левой, верхней, правой и нижней соответственно.

  • Вернемся на вкладку "Control borders". Поле "Effects region" используется для задания области видимости различных эффектов, используемых в компоненте. На данный момент свойство поддерживается в секциях "PROGRESSH" и "PROGRESSV" и используется для определения области видимости анимации светового блика.

    Поле "Glow effect" используется для задания рамки, которая будет использоваться при создании эффекта "горения". На данный момент реализовано в кнопках и элементах редактирования.

    Вкладки Normal state и Active*

    На этих вкладках задаются свойства фона секции. Существует возможность делать его полупрозрачным, "Transparency" задает степень прозрачности.

    "Color" задает цвет фона, когда ни градиентная заливка ни текстура не заданы.

    В AlphaSkins есть несколько уникальных решений и одно из них – возможность совмещать одновременно текстуру с градиентом. Чтобы задать степень видимости градиента и текстуры (в процентах), нужно воспользоваться соответствующими Trackbars.

    Для выбора текстуры вызывается уже знакомое нам окно, “Image selection for property”. Но в данном случае единственным доступным параметром, кроме координат, будет “Fill type” (способ заливки текстурой).

    "Text color" указывает какого цвета будет текст элемента управления.

    В "Text contour" есть возможность задать цвета контура слева, сверху, справа и снизу текста. Это свойство поддерживается большинством элементов управления.

    Свойство "Text glowing" позволяет задать цвет и размер размытия вокруг текста. Это свойство поддерживается в таких элементах управления как кнопки, чекбоксы (checkboxes) и др.

    Одной из интересных возможностей в AlphaSkins является поддержка множества цветов и переходов между ними в градиентной заливке (похоже немного на градиенты PhotoShop, рис.8). Например, скин MacMetal содержит большое количество элементов управления, в которых текстура рисуется одновременно с градиентом. Следует помнить однако, что такой режим использует больше времени для рисования…


    * У некоторых секций ("PANEL", "TOOLBAR" и т.п.) вкладка "Active" отсутствует. Это зависит от количества состояний, которые может иметь соответствующий элемент управления.

    Назначение остальных вкладок :

  • "Corners images" позволяет задать рисунок в углах окна. Пример можно увидеть в скине WLM (верхний правый угол окна)
  • На вкладке "Animation" можно указать - используется ли анимация и количество итераций. Также зарезервировано место для настроек, которые будут реализованы в будущем
  • На вкладке "Manual edit" все настройки секции можно изменять вручную, но необходим некоторый опыт. Иногда это позволяет быстрее редактировать скин, использовать операции копирования/вставки и другие
  • "Trackbar data" содержит настройки рисования компонента TrackBar
  • Вкладка "General skin options" :
    General info

    На данной вкладке задается автор, версия пакета AlphaControls, совместимого с данным скином, название файла MasterBitmap и есть поле Description для дополнительной информации о скине.

    Main colors

    Содержит настройки основных цветов скина (рис.9).

  • "Main color" - основной цвет элементов управления;
  • "Edit controls" - цвет элементов редактирования;
  • "Borders" - цвет рамок (обычно используется в выпадающих списках и при рисовании элементов редактирования в стандартных диалогах);
  • "Labels" - основной цвет текста;
  • "FX Labels" - цвет текста с тенями;
  • "WEB Label normal" - цвет метки-ссылки в неактивном состоянии (по-умолчанию, цвет метки будет черным, если это свойство не задано);
  • "WEB Label active" - цвет метки-ссылки в активном состоянии (по-умолчанию, цвет метки будет красным, если это свойство не задано).
  • Title bar

    Страница содержит настройки рисования заголовка формы и всех его элементов. В некоторых скинах кнопки заголовки имеют два размера - большой (для обычных форм) и маленький (для диалогов и MDIChild форм).

    Main icons

    Кроме кнопок выбора основных иконок заголовка формы на странице также находятся несколько опций :

  • Space between button;
  • Buttons are aligned to top;
  • Icons with glowing effects. Эти иконки должны быть нарисованы в формате Png (32 бита с альфаканалом). Они используются, когда иконка должна иметь эффект горения, но могут также использоваться и в других случаях, например когда необходимо рисовать иконки частично за пределами заголовка формы.
  • Title options

    Настройки вывода содержимого заголовка.

  • 'HUE is unchanged for" позволяет задавать режимы изменения цветовой гаммы кнопок заголовка формы.
  • "None" - цвета всех кнопок изменяются вместе с цветом скина;
  • "All title icons" - цвета всех кнопок остаются неизменными при изменении цвета скина;
  • "Close" button only" - изменяются все кнопки кроме кнопки "Закрыть".
  • "Title content offset" - смещение содержимого заголовка относительно его сторон.


  • На вкладке "Small icons" возможно задать иконки заголовка формы уменьшенного размера, если основные иконки не подходят для рисования их в диалогах или MDIChild формах.

    Controls glyphs

    Изображения некоторых компонентов или их фрагментов.

  • "Checkbox" - основное изображение компонента CheckBox, предусмотрено задание трех наборов изображений для таких состояний как checked, unchecked и undefined;
  • "Small checkbox" - уменьшенное изображение, кторое используется в CheckListBox и других компонентах, где иконка должна быть небольшого размера;
  • "RadioButton" - изображение компонента RadioButton;
  • "Checked menu" - изображение иконки выбранного пункта меню. Если оно не задано - используется иконка из CheckBox;
  • "Grip" - изображение используется в StatusBar и на форме, если задано свойство SkinProvider.ShowGrip;
  • "Grip horz", "Grip vert" - используются в компоненте TsSplitter, если свойство ShowGrip включено.
  • Extended borders

    На этой странице задаются настройки отображения дополнительных рамок форм. Их можно и не задавать, в таком случае в программе к обычной рамке будет добавлена только стандартная тень. Предусмотрено два основных режима создания расширенных рамок :

    1. "Add to existing" - расширенные рамки будут добавляться к существующим. Этот режим используется, в основном, для добавления своей особенной тени. Но также можно использовать для рисования дополнительных рамок, когда нужно сохранить рисунок обычных рамок формы. Пример - Alluminium.
    2. "Replace existing borders" - режим используется в случае, когда обычные рамки нужно полностью заменить. Пример - WEB2, Sapphire и т.п.

  • "Border width" - ширина бордюра формы, расстояние между тенью формы и её клиентской частью.
  • "Shadow size" - расстояние от края рисунка до бордюра (берется из готового изображения). Это значение необходимо для обозначения границы, где на рисунке заканчивается тень и начинается изображение рамки.
  • "Title height" - задается необходимая высота заголовка формы
  • "Maximized title height" - высота заголовка максимизированной формы. Используется в особых случаях, когда значение "Title height" слишком велико для максимизированного окна и его необходимо сделать меньше. В остальных случаях можно оставить 0.
  • "Title center offset" - смещение содержимого заголовка формы по вертикали (иконка, текст, кнопки).
  • "Form align offset" - смещение для выравнивания формы относительно краев дисплея при использовании свойства TsSkinProvider.ScreenSnap.
  • Shadows of labels

    Настройки рисования тени компонента LabelFX : Color, Offset and Blur.



    Installing, using and licensing the demo programs © Sergii Goncharov, Ukraine, Odessa 2004-2023