是否可以更改虚拟字符串树中行的颜色?
我想更改虚拟字符串树特定行中文本的颜色。是否可以?
I want to change the color of text in a specific row of a virtual string tree. is it possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
要更改特定行中文本的颜色,可以使用 OnDrawText 事件来更改当前的 TargetCanvas.Font.Color 属性。
下面的代码适用于 Delphi XE 1 和虚拟树视图 5.5.2 ( http://virtual -treeview.googlecode.com/svn/branches/V5_stable/)
To change the color of text in a specific row, OnDrawText event can be used in which you change current TargetCanvas.Font.Color property.
The code below works with Delphi XE 1 and virtual treeview 5.5.2 ( http://virtual-treeview.googlecode.com/svn/branches/V5_stable/ )
要控制特定行中文本的颜色,请使用 OnPaintText 事件并设置 TargetCanvas.Font.Color。
请注意,TreeView 中的每个单元格都会调用此方法。行的每个单元格中的节点指针都是相同的。因此,如果您有多个列,并且想要根据特定列的内容设置整行的颜色,您可以像示例代码中那样使用给定的 Node。
To control the color of the text in a specific row, use the OnPaintText event and set TargetCanvas.Font.Color.
Note that this method is called for every cell in the TreeView. The Node pointer is the same in each cell of a row. So if you have multiple columns and want to set the color for a whole row accoring to the content of a specific column, you can use the given Node like in the example code.
使用 OnBeforeCellPaint 事件:
这将更改每隔一行的背景(如果行位于同一级别)。
Use the OnBeforeCellPaint event:
This will change the background on every other row (if the rows are on the same level).