NO WAR IN
UKRAINE!
Home
Products
Skins gallery
Tutorials
Buy
Downloads
Demo-apps
Updates history
Feedback
Customers
Partners
Forum
Sign up for news
Windows 11
Compatible
|
TsSkinManagerКомпонент предназначен для централизованного управления процессом скинизации приложения. Для его работы достаточно определить используемый скин и установить свойство Active в True. Существует два способа распространения скинов с приложением:
Также эти два способа можно применять вместе. Тогда, если внешний скин не будет найден, то автоматически загрузится первый внутренний скин. Компонент активен только когда свойство Active включено. Обратите внимание, если при загрузке скина произошёл сбой (например, если выбранный скин отсутствует), то свойство Active сбрасывается в False автоматически и программа принимает стандартный вид. Свойство AnimEffects содержит набор настроек эффектов анимации для различных событий:
Перед запуском эффекта анимации создаётся изображение в памяти. Это может быть полезно даже если анимация не используется. Например, если на форме есть множество компонентов и прорисовка при показе формы происходит медленно, то можно установить время анимации в 0, Active в True. Тогда вся картинка будет готовиться в памяти, а форма будет показываться практически мгновенно. Обратите внимание, анимация при FormShow будет работать лучше, если в design-time на этой форме лежит компонент TsSkinProvider. Свойство CommonSections позволяет добавлять новые секции к скину в real-time. Если задана новая секция в этом свойстве, то она будет автоматически добавляться к каждому применяемому скину. Например, нам необходимо, чтобы в каждом загружаемом скине в приложении была панель, клиентская часть которой имеет белый цвет, но рамки которой наследовались бы от секции "PANEL". Тогда мы открываем CommonSections и добавляем такую секцию :
[PANEL_WHITE]
PARENTCLASS=PANEL
GRADIENTPERCENT=0
IMAGEPERCENT=0
COLOR=16777215
Теперь достаточно в панели или другом контроле изменить свойство SkinData.SkinSection на "PANEL_WHITE" и этот компонент будет принимать новый вид. Пример применения свойства CommonStyle можно скачать здесь. Effects содержит свойства, управляющие различными специальными эффектами, доступными в скинах :
Свойство ExtendedBorders включает использование в приложении дополнительных рамок у окон и диалогов. Обычно эти дополнительные рамки служат для добавления теней к формам, но с их помощью можно достигнуть также и других эффектов. HUEOffset задаёт смещение цветовой палитры для всего скина в приложении. Ниже приведены снимки окна при HUEOffset = 0 и 80. InternalSkins содержит скины, встроенные в Exe. Добавление скинов производится в design-time с помощью специального диалога. Количество скинов, которые могут быть встроены в Exe, не ограничено, но большое количество встроенных скинов могут сильно увеличить размер исполняемого файла. Кнопка "Update all" позволяет обновить все загруженные скины в design-time с помощью одного нажатия. Текущая папка-источник более новых версий скинов указана в верхнем левом углу диалога как "External location". Свойство IsDefault определяет какой менеджер скинов будет основным (DefaultManager). Если в приложении определено несколько менеджеров скинов, то DefaultManager будет использоваться для диалогов, а так же для всех форм и компонентов на них, которые не имеют специально определенного менеджера в свойстве SkinData.SkinManager. DefaultManager должен создаваться всегда первым, иначе первый же созданный менеджер станет основным. Структура MenuSupport позволяет управлять скинизацией выпадающих меню в приложении.
Saturation - задаёт цветность для всего скина в приложении. Ниже приведены снимки окна при Saturation = -100 и 100. SkinDirectory - директория, в которой компоненту следует искать внешние скины. Если используется только встроенные скины, то это свойство может быть не задано. SkinInfo хранит информацию об активном скине. SkinName задаёт скин, который должен быть активизирован. Имя скина указывается без расширения файла. SkinnedPopups позволяет отключить ошкуривание меню. Если свойство False, то меню рисуется стандартными средствами Windows. SkinningRules содержит некоторые правила применения скина в приложении
Список ThirdParty содержит правила применения скина к стандартным и сторонним компонентам. Работает только если SkinningRules.srThirdParty = True и если форма имеет скин (желательно бросить на неё TsSkinProvider в дизайне). Для изменения списка открывается специальное окно. Слева расположен список типов к которым необходимо применять скин. Можно добавлять необходимые типы вручную, используя панель инструментов внизу, а можно воспользоваться списками предопределённых наборов компонентов, которые расположен справа. Обратите вниманиЕ, что названия типов чувствительны к регистру. Свойство Version хранит текущую версию пакета. События компонентаOnActivate возникает сразу после активации компонента OnAfterChange возникает после изменения текущего скина OnBeforeChange возникает перед изменением текущего скина OnDeactivate возникает при выключении скинов OnGetMenuExtraLine вызывается перед рисованием выпадающего меню, если свойство MenuSupport.UseExtraLine активно. ExtraLine будет рисоваться, если параметр LineVisible = True. Параметр FirstItem указывает на пункт меню, который является первым. Ориентируясь на этот параметр можно разрешать или запрещать ExtraLine, а также задавать для неё такие параметры как SkinSection, Caption и Glyph. Пример обработки этого события можно найти в ASkinDemo или ASLDemo. Событие OnGetPopupItemData возникает перед рисованием выпадающего меню и позволяет изменять шрифт отдельных пунктов меню. OnSkinListChanged возникает, когда изменяется список доступных внутренних скинов или когда меняется директория с внешними скинами. OnSysDlgInit возникает при открытии системного диалога и содержит такие параметры как WindowHandle и AllowSkinning. Оно позволяет отменить применение скина к отдельному диалогу, основываясь на его Handle окна. |
Installing, using and licensing the demo programs
© Sergii Goncharov, Ukraine, Odessa 2004-2023
|