说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

CTreeCtrl中插入ITEM的问题

编辑:说三道四文库 发布时间:2018-08-17 08:41
HTML文档下载 WORD文档下载 PDF文档下载

每个ITEM的唯一识别是不是当它插入时的返回值
也就是说是个HTREEITEM 值?

如果我要设置此ITEM为另一个ITEM的子节点
是不是只能通过设置hParent实现?

那么请问:
当我的树结构如下:
id parid name
1  0     A
2  1     B
3  1     C

并且存于数据库时,我该怎么插入这些ITEM

拜谢!
UP

明天来看
你先要用递归算法把树结构算出来,然后InsertItem就可以了
不错,插入ITEM时需要hParent作参数。
真的这么麻烦吗

倒,VB中的tree有key和tag的

填充树非常方便的

难道VC里面的tree不能有个地方存储key吗? :(
pu
我没见过,所以我对vc这点很不满.
它的方便程度不及vb
只有用递归调用,在用insertitem插入了!
1、先建立图象列表 此略

2、定义TV_ITEM对象和定义TV_INSERTSTRUCT结构对象 tvInsert

//eg 
TV_ITEM tvItem;
tvItem mask = …… //此用来指定结构中哪些成员有效,此略, 视需要加
//此处处理选择图片等
tvItem.pszText = "A" //等你要的项

TV_INSERTSTRUCT tvInsert;
tvInsert.hParent = TVI_ROOT; //此为根
tvInsert.hInsertAfter = TVI_FIRST; //此指定在其后插入新项目的项目句柄,可以是TVI_FIRST,TVI_LAST,TVI_SORT(字母顺序)等标志中的一个

然后插入各项
如 

tvInsert.item = tvItem;
HTREEITEM hRoot = m_youtreeview.InsertItem(&tvInsert);

完成根项的插入, 这里假设根项是"A"

你的说法是对的, 即用HTREEITEM 对象来识别,作为别的项目对象的hParent

插入方法我是知道的

那如何判断变量一个HTREEITEM没有赋值?
按照我上面的表结构

我现在使用动态加载的方法,在双击节点的时候下载下一级数据

可是我如何知道当前节点的ID值啊,我存储在哪呢?

难道我还要自己建立一个CTree结构来维护它?
用VC写程序就是这样
无语了
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘