我正在使用TStyleBook在简单的Windows应用程序中创建自定义TTreeView。 我可以访问TreeViewStyle中的“选择”StyleObject,但我不知道如何更改所选项目的字体颜色(或者如何更改任何TextSettings)。 是否可以在选择项目时为文本选择样式?怎么办呢?
在Windows 10环境中使用Rad Studio 10.1 Berlin进行开发。
提前致谢。
答案 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属性更改为我想要的颜色。