delphi xe6 firemonkey更改表单样式运行时

时间:2014-07-19 22:23:56

标签: android delphi firemonkey delphi-xe6

你好我怎样才能改变(delphi firemonkey移动应用程序)stylebook runtime

我将在formcreate或formhow

时尝试从ini或文本文件加载

但无法正常工作stylename是字符串

我试过这段代码但是code1工作但代码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'

1 个答案:

答案 0 :(得分:4)

澄清一些困惑:

  1. StyleBook属性需要一个对象实例类型的TStyleBook,因此您尝试将字符串传递给该属性将产生不兼容类型错误。

  2. StyleName是样式或样式子组件的名称。我不完全确定你为什么提到StyleName属性,因为它似乎与你的问题无关。

  3. 要回到您的问题,如何在运行时将样式加载到TStyleBook并将其应用于表单?

    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;