【发布时间】:2010-12-28 12:13:19
【问题描述】:
如何将 TreeView 节点的标准鼠标行为(如选择、热跟踪、双击展开等)扩展到更宽的节点区域?我有一个自定义绘制的节点,它的标签比系统绘制的要宽,并且它只在光标位于普通节点范围内时才对鼠标操作做出反应。
有什么想法吗?
顺便说一句,拦截 TVM_GETITEMRECT 和 TVM_HITTEST 不会奏效。
关于我正在做的事情的几句话:我正在开发一个 WinForms 树控件,它通常与 WinForms TreeView 完全相同,但也允许添加可以将自定义字体和颜色应用于任何部分的特殊节点他们的标签。所以它有点像“RichTreeView”,例如可以在其文本中包含带有粗体单个单词的节点。通过一些繁重的字体修补,节点标签可以比常规更宽,但也更窄(这会导致抑制鼠标操作的另一个问题),因此我的问题。
【问题讨论】:
标签: .net winforms treeview controls