急问:如何使TreeView的某个节点不可见呀!!!!
TNode里只有个只读的IsVisible的属性呀 问题点数:50、回复次数:7Top
1 楼things(Loving You)回复于 2003-06-01 19:49:42 得分 0
gzTop
2 楼JackShare(JackShare)回复于 2003-06-01 19:58:44 得分 0
小弟驽钝,
望哪位仁兄帮忙Top
3 楼JackShare(JackShare)回复于 2003-06-01 22:10:39 得分 0
TNode既然有GetNextVisible, node.GetPrevVisible
这些东西
那就应该有隐藏的冬冬呀
望高手帮忙呀!Top
4 楼findcsdn(searchcsdn)回复于 2003-06-02 09:22:11 得分 20
因为treeview是可以滚动的,所以存在可见和不可见一说。
如果要隐藏的话恐怕只能用删除和添加的办法实现了,可以在内存中建立一个树形连表,每个节点中有visible属性,每次可以查找该连表生成树形。Top
5 楼JackShare(JackShare)回复于 2003-06-02 09:52:17 得分 0
我现是在每个节点上存放了一个类,我只是要把页节点置为不可见,但是又不能把页节点给删除掉,你说再建个树形链表,这样太麻烦了,delphi提供了树类吗,比如TTreeNodes,可不可以用它呀!!多谢多谢Top
6 楼XZHHAI(星之瀚海)回复于 2003-06-02 10:10:32 得分 30
恐怕不行,最好用楼楼上的说的,建一个专门管理的树形链表,在链表的一项中按一样的方法指向你管理的类,在树节点上删除后,即隐藏后便可恢复
如:
PYOurTreeTable = ^TYOurTreeTable;
TYourTreeTable=record
yourClass :TYourClass;
yourID:Text;
Visable:boolean;
end;
...
var
yourTreeTable:PyourTreeTable
procedure AddOneNode;
begin
new(yourTreeTable);
yourTreeTable.visable:=true;
TreeView.AddChildObject(<上级节点>,yourtreeTable.yourid,yourTreeTable);
end;
procedure deleteOneNode
begin
我想不用我说了,你应该有一定的思路了,自己锻炼一下,总是好的
end;Top
7 楼JackShare(JackShare)回复于 2003-06-02 11:45:59 得分 0
多谢个位
我只是想做个像资源管理器那样的对数据库的操作
所以ListView和TreeView有关联,那么把TreeView的节点删除了后,自然在ListView显示不出来了呀(我只是想让页节点在ListView显示在TreeView不显示)
现在我决定放弃这样做了,因为也的确没什么意义吧
顺便问一下呀,Items.GetNode()这是怎么用的呀?
劳驾了
Top




