Delphi 10 Seattle Stylebook 在 Main 以外的其他 Forms 中设置不正确
Delphi 10 Seattle Stylebook doesn't get set properly in other Forms then Main
我的 MainForm 上有 3 个样本供用户选择。设置完成后,我还为我的其他表单设置了相同的样书。大多数 Stylebook 样式设置正确,但我有 1 个工具栏没有设置正确的颜色,似乎保持初始颜色。
我已经尝试了两种设置样式簿的方法。
方法一:
来自它自己的其他表格:
Self.StyleBook := TForm(Application.MainForm).StyleBook;
方法二:
关于在我的 MainForm 中创建其他表单。
Form2 := TForm2.Create(nil);
Form2.StyleBook := Self.StyleBook;
Form2.Show;
这两种方法都给出了相同的结果。我能够解决这个问题的唯一方法是在设计器中为其他表单实际添加样书。但我宁愿不那样做。
有人对此有解决方案吗?
更新:
我还注意到,在我旋转屏幕后,样式颜色确实得到了设置。
我找到了解决问题的方法。
对于样式不正确的组件,我在运行时的 FormActivate 事件中再次设置了它们的样式查找。
不知道为什么,但这解决了我的风格问题。并且需要在FormActivate中设置。我也尝试在 FormCreate 中设置它,但没有成功!
我的 MainForm 上有 3 个样本供用户选择。设置完成后,我还为我的其他表单设置了相同的样书。大多数 Stylebook 样式设置正确,但我有 1 个工具栏没有设置正确的颜色,似乎保持初始颜色。
我已经尝试了两种设置样式簿的方法。
方法一:
来自它自己的其他表格:
Self.StyleBook := TForm(Application.MainForm).StyleBook;
方法二:
关于在我的 MainForm 中创建其他表单。
Form2 := TForm2.Create(nil);
Form2.StyleBook := Self.StyleBook;
Form2.Show;
这两种方法都给出了相同的结果。我能够解决这个问题的唯一方法是在设计器中为其他表单实际添加样书。但我宁愿不那样做。
有人对此有解决方案吗?
更新: 我还注意到,在我旋转屏幕后,样式颜色确实得到了设置。
我找到了解决问题的方法。
对于样式不正确的组件,我在运行时的 FormActivate 事件中再次设置了它们的样式查找。
不知道为什么,但这解决了我的风格问题。并且需要在FormActivate中设置。我也尝试在 FormCreate 中设置它,但没有成功!