VirtualStringTree.HotColor不与toHotTrack

时间:2019-01-30 16:44:13

标签: delphi virtualtreeview tvirtualstringtree

我将toHotTrack添加到VST.TreeOptions.PaintOptions并将VST.Colors.HotColor更改为clGreen,但是HotColor不适用于HotNode该节点的文本带有下划线。

  1. 如何解决这个问题?
  2. 是否可以删除下划线并仅对其应用HotColor

1 个答案:

答案 0 :(得分:0)

NVARCHAR用于更改Colors.HotColor,而不是Font.Color。 使用Brush.Color仅会更改toHotTrack并将Font.Color添加到fsUnderLine,请参见实现部分。

Font.Style

但是,更改非常容易,例如在if (toHotTrack in FOptions.FPaintOptions) and (Node = FCurrentHotNode) then begin if not (tsUseExplorerTheme in FStates) then begin Canvas.Font.Style := Canvas.Font.Style + [fsUnderline]; Canvas.Font.Color := FColors.HotColor; end; end; 中。如果您不想使用OnBeforeCellPaint,则需要从fsUnderline中删除toHotTrack,在这种情况下是不需要的。

TreeOptions.PaintOptions