Промяна на стила на компонент на FireMonkey по време на изпълнение
FireMonkey IDE предоставяширока функционалност за промяна на различни свойства на компонента (включително стилови настройки) по време на проектиране. Настройките на стила също са включени в свойствата на обекта на компонента. Но какво ще стане, ако обектният код не предоставя начин за динамична промяна на стила на компонента по време на изпълнение? Много програмисти са се сблъсквали с този проблем.
Следвапълният изходен код на компонента, където е осигурено изпълнението на целта. Кодът е взет от реално работещо приложение FireMonkey.
Изходен код на компонент
Как да променя стила на компонента в RunTime?
Интересуваме се отзаменения код на метода ApplyStyle, който постига целта си и ви позволява да научите малко повече за стиловия двигател.
Целта на метода ApplyStyle еда намери подходящия стилов обект и да промени стойностите на свойствата на компонента: Opacity, Color, Enabled. ApplyStyle търси желания ресурс с помощта на метода FindStyleResource. В същото време съответният StyleBook трябва да присъства във формата на приложението, използващо компонента. Освен това всичко е много просто - ако бъде намерен ресурсът за стил, промяната на стойностите на желаните свойства вече не е проблем.
Вместо заключение
Тази работана метода ApplyStyle е възможна само защото целевият компонент има уникално име на стил, 'Visual_Component_Style', и съответния файл със стил. Фактът, че кодът на компонента FireMonkey разчита на информация от стиловия файл, предполага, че редактирането на стиловия файл може да промени функционалността на самия компонент.