你好,我该如何更改(delphi firemonkey移动应用程序)stylebook运行时

在formcreate或formshow时,我将尝试从ini或文本文件中加载

但不能工作stylename是字符串

我曾经尝试过此代码,但是code1可以工作,但是code 2不能工作

if RadioButton1.IsChecked then  Form1.StyleBook:=white else Form1.StyleBook:=black;


我需要

form1.stylebook:= trim(Copy(Memo2.Lines.Strings[0],7,30)); {string ='black'}


但是错误代码:[dcc32错误] main.pas(226):E2010不兼容的类型:“ TStyleBook”和“ string”

最佳答案

为了消除混淆:


StyleBook属性需要TStyleBook的对象实例类型,因此,将字符串传递给该属性的尝试将产生“不兼容类型”错误。
StyleName是样式或样式子组件的已知名称。我不确定您为什么提到了StyleName属性,因为它似乎与您的问题无关。


回到您的问题,如何在运行时将样式加载到TStyleBook中并将其应用于Form?

var
  aStyleBook : TStyleBook;
begin
  // Create styleBook and assign the main form as its owner
  aStyleBook := TStyleBook.Create(Self);
  // Load style from file or Stream
  aStyleBook.Resource.LoadFromFile('...');
  // set the loaded style as active style
  Self.StyleBook := aStyleBook;
end;

10-06 09:32