如何更改FireMonkey TTreeView中所选项目中的文本设置

时间:2017-08-01 14:15:56

标签: firemonkey delphi-10.1-berlin

我正在使用TStyleBook在简单的Windows应用程序中创建自定义TTreeView。 我可以访问TreeViewStyle中的“选择”StyleObject,但我不知道如何更改所选项目的字体颜色(或者如何更改任何TextSettings)。 是否可以在选择项目时为文本选择样式?怎么办呢?

在Windows 10环境中使用Rad Studio 10.1 Berlin进行开发。

提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以在创建节点时设置文本设置,但我认为您需要引用ResultingTextSettings。例如,您可以在创建节点(LNewNode)后使用以下代码,其中SceneTreeView是FireMonkey TTreeView。

LNewNode := TwwSceneTreeNode.Create(SceneTreeView);
LNewNode.Parent:= SceneTreeView; 
LNewNode.Text:= 'Node Text';
LNewNode.ResultingTextSettings.Font.Size:= 8;
LNewNode.ResultingTextSettings.FontColor:= TAlphaColorRec.Red;

如果您需要更改选择的颜色,则需要使用树视图的OnChange事件,然后设置字体颜色,并清除以前选择的字体。

  if SceneTreeView.Selected<>nil then
  begin
     SceneTreeView.Selected.ResultingTextSettings.FontColor:=
          TAlphaColorRec.Blue;
     // Find way to clear earlier font color for 
     // prior selection and put code here
  end;

答案 1 :(得分:0)

最后我以错误的方式接近问题。

我的解决方案是创建一个TreViewItemStyle并更改其TActiveStyleTextObject的属性(在Delphi Berlin 10.1中称为“text”的对象)。

对于在选择项目时更改文本颜色的特定问题,我只是将ActiveColor属性更改为我想要的颜色。