社区
Delphi
帖子详情
控件TreeView节点控制,迷惑不解!!!
symansoft
2000-03-06 10:02:00
诸位高人:
在下用TreeView时有如下问题百思不得其解,盼指教:
1.怎样使TreeView的某节点及其子节点在屏幕上不可见,在需要时又可显示出来,如同Form中的控件由Visable属性控制一样?
2.用户单击TreeView某节点左边的+号时,往往要展开其子节点,怎样才能不展开呢(单击节点左边的+号时无动作)。
愚人,2000.3.6.
...全文
344
10
打赏
收藏
控件TreeView节点控制,迷惑不解!!!
诸位高人: 在下用TreeView时有如下问题百思不得其解,盼指教: 1.怎样使TreeView的某节点及其子节点在屏幕上不可见,在需要时又可显示出来,如同Form中的控件由Visable属性控制一样? 2.用户单击TreeView某节点左边的+号时,往往要展开其子节点,怎样才能不展开呢(单击节点左边的+号时无动作)。 愚人,2000.3.6.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
limodou
2000-03-08
打赏
举报
回复
AllowExpansion不是一个属性而是在OnExpand事件中的一个变参。
光明山人
2000-03-07
打赏
举报
回复
对第一个问题,我是这么做的:
在Form的OnCreate中创建一个TMemoryStream变量TVSaver(当然在OnDestroy中销毁),当TreeView初始化完全后(即可能Data属性赋了值),这时TreeView是一个全集,调以下语句保存它:
TreeView.SaveToStream( TVSaver );
以后每次在Form的OnShow中执行以下语句恢复TreeView:
TreeView.LoadFromStream( TVSaver );
然后裁剪TreeView,使之符合当时的条件。
第二个问题,被Lin回答了。
symansoft
2000-03-07
打赏
举报
回复
Symansoft再上列位:
不好意思,我实际上用的是C++Builder4.0,因没有象样的参考书,虽用了几个月,惜未入门。因担心BCB没有Delphi普及,故将问题放在Delphi区请教。
1。第一个问题似乎可按Firing_Sky的意见,但我还没有试过,只是看了BCB的帮助觉得似乎可行。如果Firing_Sky救人救到底,给个示例就更好了。
2。也许BCB和Delphi间有些细微区别,我找遍了TTreeView、TTreeNodes和TTreeNode的所有属性,没有发现AllowExpansion属性,所以Lin和Firing_Sky的解决第2个问题的方法似乎行不通,所以再次请教。
问题彻底解决后,将给出各自应得的分数,包括热心帮助分。
limodou
2000-03-07
打赏
举报
回复
可以创建一个列表,用于存放不显示的结点。在点右键时如果隐藏结点,则将这个结点
信息复制一下,并放在列表中,同时记录删除结点的上一结点及层数(用于显示时,加
到正确地地方)再将treeview上的结点删除。显示时则根据列表中的信息恢复到正确的
位置。不知行不行。
Firing_Sky
2000-03-07
打赏
举报
回复
我的意思是你自己创建TTreeNode对象,并把它放到TreeView.item.Data里面,在需要显示的时候再把它挂到所需的TreeNode下面去
steps
2000-03-07
打赏
举报
回复
对第一个问题,我的看法是:
人工在程序中控制建立Tree,如建立一个建立树的procedure(。。。),
在传送参数时明确哪些节点根建立,哪些不要。
symansoft
2000-03-07
打赏
举报
回复
我是本问题的提出者symansoft,感谢诸位的解答,但现在还不能给分,因为:
1.Lin和Firing_Sky没有解答第一个关键问题。分数不会很高。
2.agui的回答有些眉目,但是现在还用不着LoadFrom和SaveTo等语句。倒是最末一句“然后裁剪TreeView,使之符合当时的条件”令人感兴趣,能详细点吗?
3.steps的回答过于简略,且题意理解有误。
本题要求对TreeView节点根据一定条件进行动态控制隐现,比如用鼠标右击某节点,则该节点隐藏起来,以后单击某按钮,则所有被隐藏的节点都全部显示在TreeView中相位置。显然这个过程是动态的。
Ray
2000-03-07
打赏
举报
回复
对于第二个问题可先获得该TREEVIEW当前已选取的TREENODE对象然后判断该节点是否
可打开如不可则调用TREENODE的Collapsed(False)方法使该节点折叠。
Firing_Sky
2000-03-06
打赏
举报
回复
同意Lin的看法,但如果你要在子节点下保存一些数据的话,可以先把数据放到TTreeNode.Data下面去
Lin
2000-03-06
打赏
举报
回复
To symansoft:
1、Noway;
2、在TreeView的OnExpanding事件中可以控制:设置AllowExpansion := False;
TreeView
单击一
节点
弹出相应的窗体
窗体左右分割,单击左边树
节点
,右边加载相对应的窗体
C#
TreeView
控件
的使用
C#
treeview
控件
齐全的使用,展开折叠功能,增加删除
节点
功能!
毕业设计 基于ASP.NET在线知识管理系统成品课程讲解
本套课程将对基于ASP.NET在线知识管理系统【成品】的代码部分进行讲解,该系统以知识文档管理为主,主要基于Visual Studio 和SQL Server进行开发,主要通过ASP.NET进行设计,系统功能较简单,适合新手和初级学生进行了解。该课程中应用到MasterPage模板页、
TreeView
导航
控件
、用户自定义
控件
、数据验证
控件
等ASP.NET服务器端
控件
。该课程可以作为课程设计、大作业或毕业设计作品的思路参考。、注意:学院会员可以免费学习部分课程 ,有需要可付费购买源码课程
好看的Winform.
TreeView
自定义的美化
TreeView
源码和对应demo,样式好看,对初学者是很好的学习资料,然后也可用于项目中
TreeView
【WPF
节点
可以编辑】
是用WPF实现的功能,是在外国网站上找到的, 按F2可以修改
节点
名字! 用UserControl1.xaml的自定义
控件
来实现 用到DataTemplate模板。值得学习。
Delphi
5,386
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章