问题标签 [tvirtualstringtree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
766 浏览

delphi - TVirtualStringTree 搜索结果高亮

我想根据搜索条件突出显示 VirtualStringTree 节点中的文本,例如下面的示例:

在此处输入图像描述

请问有什么建议吗?

0 投票
1 回答
1171 浏览

delphi - VirtualStringTree:搜索类型不是字符串的文本

我想实现一个搜索过程 aVirtualStringTree并且我想通过将搜索文本与来自节点而不是来自指针(例如Data^.Column0)的文本进行比较来做到这一点,因为这并不总是 as String

请帮助我提出从节点取回文本的建议。

为了更好地理解,请参见下面的代码(我调整了 Lazarus 的示例)

0 投票
1 回答
1454 浏览

delphi - TVirtualStringTree - 可变行高优化

在我们的应用程序中,我正在从 TStringGrid 移动到 TVirtualStringTree 组件。正在显示大量数据(最多 50000 行和 5 列)。一列包含一行或多行文本。我设法在 stringgrid 中使用'DrawCell'以最佳性能实现多行功能:即时重绘所有行(调整大小时)和无阻碍地滚动(我在内存中有一个行高列表,将在需要重绘时更新) .

将此多行功能转移到 VirtualStringTree 的性能不如 stringgrid 替代方案。我尝试了许多实现,但还没有成功。这在 VirtualStringTree 安装包的 Demo 应用中很容易重现:

  1. 在“MultilineDemo”表单中,将 VirtualStringTree 的“rootNodeCount”设置为 10.000。
  2. 运行演示时,选择“根据节点文本自动调整节点高度”。

初始重绘/重绘会占用大量 CPU 时间。每次调整大小时,跳到顶部/底部会导致相同的现象,甚至导致“堆栈溢出”异常(但这是另一个问题......)。'OnMeasureItem' 方法被称为太多,我看到它的方式(即使在'MouseMove' 事件上)。

有没有人遇到过这个问题并设法找到解决方案?

0 投票
0 回答
166 浏览

delphi - 在同一个 TVirtualStringTree 中加载不同的数据

在我的应用程序中,我在主窗体上tc_mainTTabControl4 个选项卡和一个vt_mainasTVirtualStringTree停留在它上面。取决于选择的选项卡vt_main,里面可能有不同的标题和数据。对于每个选项卡,我定义了一个不同的数据处理程序。

现在的问题是如何vt_main通过维护来自处理程序的数据在选项卡和刷新视图之间切换,而无需从 sql 重新加载数据。

在我尝试更新标头配置的那一刻,我得到了访问冲突。

我会放一些代码。我希望你明白这一点。

这是绘制/重绘 VT 标头程序

0 投票
2 回答
2367 浏览

delphi - 如何设置 VirtualStringTree 标头的颜色?

VirtualStringTree 标头具有“背景”属性,但将其设置为不同的颜色不会改变颜色。我怀疑树是使用 Windows 主题呈现的。

如何设置颜色?

0 投票
1 回答
421 浏览

delphi - 如何填写 TVirtualStringTree 中滚动条上方的区域?

我需要填充(用黑色)我在下图中突出显示的白色小方块。

我尝试添加额外的列。我尝试扩展 PaintInfo.PaintRectangle。我已经尝试了我能想到的金额列上的所有设置。我没主意了。

有人对如何做到这一点有任何想法吗?

这是执行自定义标题绘图的代码。(请原谅with声明,不是我的原始代码......)

在此处输入图像描述

0 投票
1 回答
461 浏览

delphi - 如何将 TObject 添加到 TVirtualStringTree.Root 节点的 PVirtualNode.Data

那是我的问题。

如何将对象放入树的根节点?我知道 addChild 函数,但它适用于根节点的子节点。我需要将数据放入根节点。

0 投票
1 回答
223 浏览

c++ - TVirtualStringGrid CopyToClipboard 问题 Embarcadero Seattle C++

之前调用 后VirtualStringGrid -> CopyToClipBoard,我可以将网格粘贴为记事本中的选项卡式文本,或者在粘贴到 Excel 或 Outlook 时作为完全格式化的网格(标题、颜色和边框)。

但是,自从我使用 VirtualTreeView V6.2 从 Embarcadero XE8 迁移到 RAD Seattle 后,我遇到了问题CopyToClipboard:如果目标应用程序是某种文本编辑器,我只能粘贴为文本。粘贴到任何可以接受 RTF 或 html 的“丰富”应用程序都会导致错误。

我试图调用ContentToXXX方法(见下面的代码)文本导出正常。例如,HTML 已导出,但生成的Data2Export字符串包含 html 页面上的整个代码,并且无法粘贴到 Outlook。任何调用都会ContentToRTF导致崩溃。

我用谷歌搜索了这类问题,但没有发现任何相关的东西。

关于如何解决或解决此问题的任何想法?

代码有问题吗?

PD:开发平台是Win8和Win10,VirtualStringTree ClipboardFormats都设置为true。

0 投票
1 回答
288 浏览

multithreading - 在 TVirtualStringTree 中显示文件系统树数据

我有这样的文件系统对象的线程安全类:

有线程,它扫描文件系统并填充它。主窗体上有 Timer,它从此类接收数据以显示在 TVirtualStringTree 中。

在 TVirtualStringTree 中显示此类数据而不会丢失额外内存以在节点中存储数据副本的最佳方法是哪种?

更新:好的,我现在拥有的。

现在我的 TVirtualStringTree 内存不足 :( 我的错误在哪里?

0 投票
1 回答
195 浏览

delphi - Delphi:组件构建 - 关联 TVirtualStringTree

我正在构建一个新组件,我想添加一个属性来关联TVirtualStringTree对象。

在下图中,我指出了一个对象的示例,该TLabel对象的属性FocusControlTEdit

在此处输入图像描述

如果我这样做:

我收到这样的错误:“无法加载包......它包含单元 VirtualTrees.WorkerThread,它也包含在包 VirtualTreesR22 中。

请提供有关如何创建此类关联的建议。