将 TreeView 控件滚动到顶部

Scroll TreeView control to top

如何将 Tree View 控件滚动到顶部?

例如我们有一些包含很多元素的树:

Root element
|-- item 1
|-- item 2
|-- .....
|-- item 1567

Tree View控件只能同时显示5个节点。结果,当我按下展开按钮时,它会展开所有项目并只显示最后 5 个节点。

我希望在扩展后 return 可以看到前 5 个节点。

我尝试使用这个宏 return 插入符号回到根目录,但它们没有效果:

TreeView_Select(hTreeView, hRoot, TVGN_CARET);
TreeView_SelectSetFirstVisible(hTreeView, hRoot);

我假设您想使用 Windows API(和宏)。您可以使用 TreeView_EnsureVisible 确保项目可见。如果您没有根项目,您可以通过 TreeView_GetRoot.

获取它

在 C# winform 中,以下代码使其滚动回到顶部:

        ResultTree.ExpandAll();
        ResultTree.Nodes[0].EnsureVisible();

使用一些节点而不是整个树,您可以滚动回该节点。 试试C++有没有类似的东西