耦合MFC CListCtrl和CTreeCtrl以获取整个树的视图,而不是一次只获取一个节点

时间:2010-05-25 22:15:23

标签: c++ mfc clistctrl

考虑Windows资源管理器(或regedit或类似的)。在左侧是树视图,在右侧是列表视图。在我所知的所有情况下,右视图的内容都反映了左窗格中所选节点的属性。这一切都很好......但不是我想要的。

我想要显示的树的节点具有与每个节点相关联的非常少的属性(2-3) - 合理的量以水平显示为表中的行。我希望让我的列表视图显示整个树属性的表(作为当前展开的树的一部分),而不是将所有列表视图空间浪费在具有极少属性的单个节点上。因此,左视图(树)中的第n行将直接对应于右视图(列表/表)中的第n行,并且我将得到关于树的属性的正确概述。

有没有人知道这样做的代码?我猜测将CListCtrl设置为CTreeCtrl将是一种方法,并以某种方式覆盖垂直滚动功能,以便它们被锁定在一起。我只是不确定是否可以将这些卷轴锁定在一起......等等!感谢所有建议: - )

2 个答案:

答案 0 :(得分:3)

您可能正在寻找 Coumn Tree Control

答案 1 :(得分:0)

如果你进行列表控件所有者绘制,那么将它与树控件对齐是很简单的。但是,您仍然遇到需要同步的两个滚动条的问题。也许您可以将滚动事件捕获到一个并将它们复制到另一个。

另一种选择是跳过列表控件并使用标题控件来定义列,只需根据需要绘制文本。