3

我在我的Delphi 项目中使用 TVirtualStringTree( Virtual TreeView 组件的一部分),我想创建一个视图,其中 2 列可以具有可扩展/可折叠的子级,并带有 [+] 符号。在下面作为示例的图片中,我希望在服务器列和图像列中都有一个 [+] 符号。这个想法是树有几个服务器节点,每个节点都有许多子进程(主列是图像),一些进程有子进程,它们是进程节点的子进程。

替代文字
(来源:remkoweijnen.nl

这样的布局可能吗?如果不使用默认组件,我将不胜感激有关如何在后代中实现此功能的建议。

/Edit:以下屏幕截图是使用 TOndrej 建议的方法时: alt text http://www.remkoweijnen.nl/temp/TreeView2.png alt text http://www.remkoweijnen.nl/temp/TreeView3.png alt text http://www.remkoweijnen.nl/temp/TreeView4.png

好的,我决定按照 TOndrej 的想法来实现: alt text http://www.remkoweijnen.nl/temp/TreeView5.png

4

2 回答 2

4

你很可能不需要那个。只需明确说明您需要什么分组即可。第一列可以是多用途的 - 显示每个分组级别的不同信息 - 例如级别 0:服务器,级别 1:进程,级别 2 及更高级别:子进程。在每个级别上,只有与该级别相关的列需要显示任何信息。在上面的示例中,级别 0 只会在第一列中显示服务器名称;其余列将保持为空。

您可能可以通过自定义绘图实现任意数量的加号,但这将是很多工作,我真的认为结果是不必要的、不寻常的并且容易让用户感到困惑。

于 2010-01-19T12:47:17.960 回答
3

只有一列可以拥有树,其他列作为列表视图。带有树的列是主列。

如果两列有一棵树并且它们可能“冲突”,我不知道您的分组将如何工作。什么是父节点等。GUI 从技术上讲,这可能不是提供这些细节的最佳方式;用户不会期望它以这种方式工作。

于 2010-01-19T13:06:45.030 回答