Перейти к содержанию
Fire Monkey от А до Я
  • 0

Обнаружил неизвестную мне разницу между загрузкой стилей через TStyleManager и StyleBook


Vasya

Вопрос

Опубликовано

Два варианта кода

Обнаружил, что эти две версии (одного и того же по смыслу, как я думал ранее) кода дают в корне разный результат.

Через TStyleManager:

if UseDarkTheme then
  TStyleManager.SetStyleFromFile('Dark.style')
else
  TStyleManager.SetStyleFromFile('Light.style');

Через StyleBook формы:

if UseDarkTheme then
  StyleBook.LoadFromFile('Dark.style')
else
  StyleBook.LoadFromFile('Light.style');

Self.StyleBook := StyleBook1;   // Особая строчка

Особая строчка нужна для того, чтобы стиль применился. И это не смотря на то, что до выполнения этой комнады, Self.StyleBook и так указывает на StyleBook1.

А теперь о разнице

Разница между вариантами в том, что в первом случае не пострадают те стили, которые я уже переопределил через визуальный редактор стилей и прописал в нужных мне контролах. А второй вариант кода заменит тотально всё - в т.ч. и то, что я прописал в нужных мне контролах, т.е. испортит.

Вопросы к знающим

  1. Где в документации описана эта разница в поведении?
  2. Как второй способ обучить не портить "мои" стили?
  3. Как первый способ обучить брать стили не из файла, а из ресурсов приложения (для чего ресурсы и созданы, собственно)?

Рекомендуемые сообщения

  • 0
Опубликовано

Благодарю, посмотрю.

Правда, я думал, что обнаруженная мною особенность настолько "тонкая", что в уроках не освещается...

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...