Делфи 10 инструкция ознакомит Сиэтл не установлен должным образом в других формах, затем основной
У меня есть 3 книги стилей на моей главной форме, которые пользователь может выбрать. Как только он установлен, я также устанавливаю тот же самый стиль для других моих форм. Большинство стилей в книге стилей настраиваются правильно, но у меня есть 1 панель инструментов, которая не получает нужного цвета и, кажется, остается первоначальным цветом.
Я уже пробовал 2 способа установить стиль книги.
Метод 1:
Из других форм оно само с:
Self.StyleBook := TForm(Application.MainForm).StyleBook;
Метод 2:
О создании других форм в моей Главная форма.
Form2 := TForm2.Create(nil);
Form2.StyleBook := Self.StyleBook;
Form2.Show;
Оба эти метода Дали один и тот же результат. Единственный способ, которым я смог решить эту проблему, - это добавить книги стилей в конструктор и для других форм. Но я предпочитаю этого не делать.
Есть ли у кого-нибудь решение для этого?
Обновление: Я также заметил, что цвет стиля устанавливается после поворота экрана.
1 ответ:
Я нашел решение своей проблемы.
Для компонентов, которые не получают правильный стиль, я снова устанавливаю их stylelookup во время выполнения в событии FormActivate.
Не знаю почему, но это решило мои проблемы со стилем. И он должен быть установлен в FormActivate. Я также попытался установить его в FormCreate, но это не сработало!