Delphi 10 Seattle Stylebook не устанавливается должным образом в других формах, кроме Main

У меня есть 3 Stylebooks на моей MainForm, которые пользователь может выбрать. После того, как это установлено, я также устанавливаю ту же StyleBook для других моих форм. Большинство стилей Stylebook настроены правильно, но у меня есть 1 панель инструментов, которая не имеет правильного цвета и, кажется, остается исходным цветом.

Я уже попробовал 2 способа установить книгу стилей.

Способ 1:

Из других форм это само с:

Self.StyleBook := TForm(Application.MainForm).StyleBook;

Способ 2:

О создании других форм в моем MainForm.

Form2 := TForm2.Create(nil);
Form2.StyleBook := Self.StyleBook;
Form2.Show;

Оба эти метода дали одинаковый результат. Единственный способ, которым я смог решить эту проблему, - это на самом деле добавить в дизайнер StyleBooks и для других форм. Но я, скорее, не делаю этого.

У кого-нибудь есть решение для этого?

ОБНОВЛЕНИЕ: Я также заметил, что цвет стиля устанавливается после поворота экрана.

1 ответ

Решение

Я нашел решение своей проблемы.

Для компонентов, которые не получают правильный стиль, я снова устанавливаю их stylelookup во время выполнения в событии FormActivate.

Не знаю почему, но это решило мои проблемы со стилем. И это нужно установить в FormActivate. Я также попытался установить его в FormCreate, но это не сработало!

Другие вопросы по тегам