问题标签 [treecontrol]

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 投票
2 回答
470 浏览

winapi - Win32 TreeCtrl TVN_ENDLABELEDIT 内存分配

我有一个 Win32 TreeCtrl,用户可以在其中重命名树标签。我处理 TVN_ENDLABELEDIT 消息来执行此操作。

在某些情况下,我需要更改用户输入的文本。基本上用户可以在编辑过程中输入一个短名称,我想用更长的文本替换它。

为此,我更改了在 TVN_ENDLABELEDIT 期间收到的 TVITEM 结构的 pszText 成员。我在这里做了一个指针替换,因为原始内存可能太小而无法进行简单的类似 strcpy 的操作。

但是我不知道如何释放原始 pszText 成员。基本上是因为不知道它是用 malloc() 还是 new 创建的……所以我不能调用适当的释放器。显然 Win32 不会为旧的 pszText 调用释放器,因为指针已被替换。所以如果我不解除分配,就会有内存泄漏。

知道 Win32 如何分配这些结构以及处理上述情况的正确方法是什么?

0 投票
1 回答
705 浏览

wxwidgets - How can I auto-scroll a wxTreeControl widget while dragging with the mouse?

I have a wxTreeCtrl widget with scroll bars, where I want to drag and drop items on other items. But when I drag an item, how can I make the control automatically scroll invisible items into view?

0 投票
1 回答
1537 浏览

icons - Axapta:图像更改后更新 FormTreeControl

在我的其他方法(数据、文本等)中,setItem 方法可以很好地显示对树项所做的更改。但是,在更改项目图标后调用 setItem 似乎没有任何效果。更新树项以使新图标出现的最佳方法是什么?

谢谢

0 投票
1 回答
1502 浏览

mfc - MFC CTreeCtrl 最大可见项文本长度

我有一个将大量文本数据输出到 MFC 树控件的应用程序。当我使用长字符串(大于 1000+ 字符)调用 SetItemText() 时,控件中仅显示前约 250 个字符。但是当我在项目上调用 GetItemText() 时,会返回整个字符串(1000+ 个字符)

我的问题是;

  • MFC 树控件是否有最大可见字符串长度?
  • 有没有办法增加可见限制?

我在下面包含了示例文本代码

0 投票
2 回答
2405 浏览

python - wxPython TreeCtrl 不显示根但仍显示箭头

我正在使用 wxPython 制作一个 python 树可视化器。它会像这样使用:

它工作得很好,但它显示了一个值为“Tree”的根。我这样做是为了它会创建多个根,但后来得知我不允许这样做。我恢复到原始代码,但使用将其从 this: 更改self.tree = wx.TreeCtrl(self)为 this: self.tree = wx.TreeCtrl(self, style=wx.TR_HIDE_ROOT)。它有效,但它没有显示侧面的小箭头,所以你不会知道哪些节点有孩子。有没有办法隐藏根节点但保留箭头。注意:我在使用 Python 2.5 版和 wxPython 2.8.4.0 版的 Mac 上。

0 投票
3 回答
756 浏览

python - wxPython:具有数百万个项目的 VirtualTreeListCtrl

我想向 TreeListCtrl 的根节点添加 1,000,000 多个条目。因此,我想让它成为“虚拟的”,即就像一个虚拟的 ListCtrl 一样工作,这样它仍然很快,并且由于当前显示的项目是按需加载的,我可以轻松地滚动。但我不能使用虚拟 ListCtrl,因为我还希望能够扩展 1,000,000 个项目中的任何一个以显示其子项(这些项的子项总是少于 50 个)。这可以用 TreeListCtrl 有效地完成吗?还是与不同的班级?根据我自己对 treemixin.VirtualTree 和 wx.gizmos.TreeListCtrl 的实验,重载 OnGetItemText 方法的工作方式与使用普通虚拟 ListCtrl 的方式不同。当用户滚动时,它不会被按需调用,这意味着所有 1,000,

0 投票
2 回答
2042 浏览

c++ - 在 CTreeCtrl 中更改字体后未调整项目大小

我使用以下代码更改 CTreeCtrl 中树项的字体:

但是,文本的末尾被剪辑在项目中,显然它没有被
调整为使用新字体的文本长度。
什么是补救措施?

0 投票
5 回答
3950 浏览

iphone - iphone有树控件吗?

是否有适用于 iPhone 的 Tree 控件?

我需要用树中的子节点表示一棵树,我该怎么做?

谢谢

0 投票
1 回答
588 浏览

javascript - 可靠的 HTML/Ajax 控件来操作树结构?

有人可以推荐一个也支持树操作的可靠的 HTML 树控件吗?我需要它作为后端并且想要移动、重新排序、删除、添加和重命名节点。

现在我在我的数据库中使用嵌套集模型来存储树结构,并使用 dhtmlxTree(参见 dhtmlx.com)作为树控件。我遇到的问题是该控件需要数据库中的一个额外字段来存储其自己的寻址模式(类似于 0_2_14,这是从根目录到该项目的路径)。这是一个非常糟糕的主意,因为这意味着每当位置发生变化时,整个树都会变得无效(因为它同时使用这个字符串作为 ID 和地址/位置),我必须重新计算每个节点,关闭树并从服务器重新加载它。这让用户很恼火,因为他们每次都必须将树重新打开到之前的位置。文档说这个树控件确实可以预先选择/打开树到给定的地址,但是,此功能对我不起作用-每当用户打开节点时,我都使用ajax调用仅轮询节点的直接子节点,并且由于某种原因,在这种情况下它不会让我在加载时打开节点。文档很垃圾,它只有很少的一些功能的基本代码示例,所以我卡在这里。我的问题是,是否有任何好的替代方案,它自己的寻址方案没有问题并允许编辑。还会考虑使用 Flash 或 java 应用程序。s自己的寻址方案并允许编辑。还会考虑使用 Flash 或 java 应用程序。s自己的寻址方案并允许编辑。还会考虑使用 Flash 或 java 应用程序。

0 投票
2 回答
1485 浏览

windows - 如果整个标题当前不可见,MFC 的 CTreeCtrl 如何自动显示包含项目标题的工具提示?

背景http://msdn.microsoft.com/en-us/library/b17bescz(v=VS.90).aspx "TVS_NOTOOLTIPS 样式禁用了树形视图控件的自动工具提示功能。此功能自动显示工具提示,如果整个标题当前不可见,则包含鼠标光标下项目的标题。”

问题:在MFC 代码中实际实现的CTreeCtrl 的这个默认功能[即当项目被截断时,自动显示标题的工具提示] 在哪里(例如哪个文件)?

谢谢