【发布时间】:2015-07-08 19:55:05
【问题描述】:
我想根据搜索条件突出显示 VirtualStringTree 节点中的文本,例如下面的示例:
有什么建议吗?
【问题讨论】:
-
我不知道有任何内置功能可以突出显示任何文本。您可能需要使用所有者绘制方法 - OnBeforeCellPaint、OnPaintText 等。
-
您是否需要支持带有换行文本的多行节点?
-
既然您提到了包装文本,我将寻求一些帮助。在这一刻,我不知道如何处理这个问题,至少从哪里开始寻找......无论如何,如果你有一些可以帮助我的链接或信息是受欢迎的。提前谢谢!
-
简单地说; VT 使用
DrawTextWinAPI 函数进行文本渲染(如果已分配则触发OnDrawText事件)。那是我渲染文本背景的地方(例如,制作一种OnBeforeDrawText事件可能很有用)。我这么说是因为在早期阶段,VT 对文本一无所知,您将重复在OnBeforeCellPaint等事件触发之后和文本实际呈现之前所做的事情。并且任务 itef 对于包装文本并不容易。而且它实际上与 VT 无关,而是作为通用 GDI 任务。
标签: delphi virtualtreeview tvirtualstringtree