如何使用Win32 api将树视图项设置为可见/不可见

How to set Tree View item as visible/invisible using Win32 api

本文关键字:设置 视图 Win32 何使用 api      更新时间:2023-10-16

我正在处理一个使用WIN32 API实现的项目,在该项目中,我需要在运行时根据用户输入的一些数据使一些树视图项可见/不可见。我做了一些工作,我发现我可以在树视图控件中添加/删除项,但在任何地方都找不到如何设置项可见或不可见(我发现了一些可以通过MFC完成的示例)。

我正在寻找将它们设置为可见/不可见的方法,这只是因为当我添加项目时,它需要大量的后端计算,重复添加或删除会导致性能问题。我只想对每个树视图项只进行一次计算。

我认为,如果无法设置树视图项,解决方案之一就是简单地创建一个树视图项的链接列表,只添加/删除那些需要可见/不可见的项。

请告诉我是否可以将树视图项的状态设置为可见/不可见,如果可以,那么如何设置?如果没有,还有什么替代方案?

标准TreeView控件没有任何节点可见性的概念。添加/删除节点是唯一的选项。您必须维护节点显示的数据的单独链表缓存(无论如何都应该这样做,以便将UI逻辑与业务逻辑分离)。否则,您需要编写自己的TreeView控件,或者找到适合您需要的第三方实现。