BCB或Delphi中,怎样使TreeView的各级Node响应Edit中键入的数字字串而相应展开和收拢?
BCB或Delphi中,怎样使TreeView的各级Node响应Edit中键入的数字字串而相应展开和收拢?
从TreeView中点击各级节点来将数字字串选到Edit中比较容易一些,而反过来在Edit中键入数字字串
使TreeView的各级Node响应它而相应展开和收拢对应节点好象不太好控制,至少我现在没控制住。
比如说吧,Edit1是拿来给操作员向数据库中输入Product产品表的主键Prod_ID产品号的,产品号已按
规定分了级,举例大家都熟悉的电脑产品吧------
第一级包括1.硬件和2.软件两大类
第二级1.硬件又包括1.PC,2.外设,3.服务器,4.网件,5.PDA等
第二级2.软件又包括1.系统软件,2.应用软件,3.自由软件等
第三级1.硬件下的1.PC又包括1.主机,2.显示器,3.键盘等2.外设又包括1.扫描仪,2.打印机,等
2.软件下的1.系统软件又包括1.操作系统、2.编译系统、3.DBMS系统等
2.软件下的2.应用软件又包括1.办公套件、2.财物软件、3.ERP、4.网管软件等
第四级1.主机下包括1.CPU,2.内存,3.主板,4.显示卡等,2.打印机下包括1.针打、2.喷打、3.激打等
1.操作系统又包括1.Windows,2.Linux,3.Unix,4.OS/2等
举例不一定准确,大致是这么个意思。TreeView1是对用户的操作给以提示的,告知现在处于哪个等级
的哪个位置,接下来有哪些子项可供选择。
比方我在Edit1中键入1,TreeView1的第一级节点就都显现,但软件收拢而硬件展开,以提示下一步可选的
有1.PC,2.外设,3.服务器,4.网件,5.PDA等,再键入2,会将外设节点展开,而其他节点都不展开,
软件,服务器,网件,PDA等节点都不再现。要考虑当键入多位字串时,只用鼠标选中其中相连的某部分的
准确响应,比如1234,用鼠标选中23,再一下键入5,应能准确响应到154。
总之,除键入第一位数外,其他任何时候前溯都只准确显示当前节点及其直接的前辈节点,后继只展开并
提示当前节点的直接儿子辈后代节点。另外,很重要的别忘了,我还有可能随时加入Tree中还没定好的
NODE呵。比如,键入124,程序要弹出对话框提示:没有这个产品号,是否加入?如选是,再输定ID所表示
的产品级名后,Tree中新生成相应节点可要加对地方啊。
请高手们赐教时,一定给出例程,拜托!