我需要修改TVirtualStringTree的焦点框的边框颜色, 就像这张照片:
答案 0 :(得分:6)
您无法控制虚线焦点矩形的颜色。这是通过反转其绘制的颜色自动确定的。操作系统提供 - 树控件使用 - an API for that。 (如果需要,您可以编辑源代码并用您自己的函数替换DrawFocusRect
的调用。)
如果您正在讨论整个节点的颜色,请首先检查以确保{J} 1}绘制选项按照您希望的方式设置。它默认关闭,但由于它在项目周围拖动一个框时使选择矩形看起来很酷,你可能已经打开它而没有意识到它对普通选定节点的作用。
如果不是这样,那么调整树控件的toUseBlendedSelection
属性中的一个值,可能是Colors
或FocusedSelectionColor
。但请不要轻易做出这样的改变;用户通过OS选项选择了选择颜色,因此您可能不应该更改它。如果你做使用不同的颜色,请确保无论你选择什么新颜色,文字仍然可读。
答案 1 :(得分:2)
您可以将treeview的选项toHideFocusRectangle
设置为true,并在几个绘制事件之一中自己绘制焦点矩形(基本上它足以使用OnBeforeCellPaint
)。