【发布时间】:2010-01-20 06:11:53
【问题描述】:
有没有办法获取所选树视图节点的索引,或者他们甚至有一个?
【问题讨论】:
-
什么是树节点的“索引”?
-
我正在寻找类似列表视图控件的东西。就我而言,这将是一个唯一编号,可以轻松找到与树视图节点相关的 STL 容器类中的元素。
-
您可以使用
HTREEITEM作为 STL 容器中的键。
有没有办法获取所选树视图节点的索引,或者他们甚至有一个?
【问题讨论】:
HTREEITEM 作为 STL 容器中的键。
由于您要求“索引”只是为了能够找到与此项目关联的数据,您应该知道树控件可以保存您的数据。每个项目(TVITEM 结构)都有一个 lParam 成员,您可以使用它。
如果您真的需要一个容器,请按照 avakar 的建议进行操作。使用HTREEITEM 作为键。
【讨论】:
类似这样的:
Selected=(HTREEITEM)SendDlgItemMessage(hWnd,IDC_TREE1,
TVM_GETNEXTITEM,TVGN_CARET,(LPARAM)Selected);
if(Selected==NULL)
{
MessageBox(hWnd,"No Items in TreeView","Error",
MB_OK|MB_ICONINFORMATION);
break;
}
来自here
【讨论】:
没有这样的东西,因为这样的索引可以通过多种方式定义。
如果你折叠和展开节点,选择的索引会改变,还是保持不变?
要获得此功能,您必须使用自己想要的任何规则集来推出自己的算法。或者,只需按所示选择节点(这更常见)。
【讨论】: