我正在使用TStyleBook在簡單的Windows應用程序中創建自定義TTreeView。 我可以訪問TreeViewStyle中的「選擇」StyleObject,但我不知道如何更改所選項目的字體顏色(或者如何更改任何TextSettings)。 在選擇項目時是否可以爲文本選擇樣式?如何做呢?如何更改FireMonkey中選定項目的文本設置TTreeView
在Windows 10環境下在Rad Studio 10.1 Berlin中開發。
在此先感謝。
我正在使用TStyleBook在簡單的Windows應用程序中創建自定義TTreeView。 我可以訪問TreeViewStyle中的「選擇」StyleObject,但我不知道如何更改所選項目的字體顏色(或者如何更改任何TextSettings)。 在選擇項目時是否可以爲文本選擇樣式?如何做呢?如何更改FireMonkey中選定項目的文本設置TTreeView
在Windows 10環境下在Rad Studio 10.1 Berlin中開發。
在此先感謝。
最後我以錯誤的方式接近問題。
我的解決方案是創建TreViewItemStyle並更改其TActiveStyleTextObject屬性(在Delphi柏林10.1中稱爲「文本」的對象)。
對於在選擇項目時更改文本顏色的特定問題,我只是將ActiveColor屬性更改爲我需要的顏色。
您可以在創建節點時設置文本設置,但我認爲您需要引用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;
對不起,如果我不是特別足夠的,但我想要的是如何使用我的TStyleBook解決這些設置,所以我不必爲每個樹中的每個項目做mannualy – TioGuedes
很高興你明白了。 –