Обнаружил, что эти две версии (одного и того же по смыслу, как я думал ранее) кода дают в корне разный результат.
Через TStyleManager:
ifUseDarkTheme then
TStyleManager.SetStyleFromFile('Dark.style')elseTStyleManager.SetStyleFromFile('Light.style');
Через StyleBook формы:
ifUseDarkTheme then
StyleBook.LoadFromFile('Dark.style')elseStyleBook.LoadFromFile('Light.style');Self.StyleBook:=StyleBook1;// Особая строчка
Особая строчка нужна для того, чтобы стиль применился. И это не смотря на то, что до выполнения этой комнады, Self.StyleBook и так указывает на StyleBook1.
А теперь о разнице
Разница между вариантами в том, что в первом случае не пострадают те стили, которые я уже переопределил через визуальный редактор стилей и прописал в нужных мне контролах. А второй вариант кода заменит тотально всё - в т.ч. и то, что я прописал в нужных мне контролах, т.е. испортит.
Вопросы к знающим
Где в документации описана эта разница в поведении?
Как второй способ обучить не портить "мои" стили?
Как первый способ обучить брать стили не из файла, а из ресурсов приложения (для чего ресурсы и созданы, собственно)?
Вопрос
Vasya
Два варианта кода
Обнаружил, что эти две версии (одного и того же по смыслу, как я думал ранее) кода дают в корне разный результат.
Через TStyleManager:
Через StyleBook формы:
Особая строчка нужна для того, чтобы стиль применился. И это не смотря на то, что до выполнения этой комнады, Self.StyleBook и так указывает на StyleBook1.
А теперь о разнице
Разница между вариантами в том, что в первом случае не пострадают те стили, которые я уже переопределил через визуальный редактор стилей и прописал в нужных мне контролах. А второй вариант кода заменит тотально всё - в т.ч. и то, что я прописал в нужных мне контролах, т.е. испортит.
Вопросы к знающим
2 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.