千家信息网

全键盘操作遍历树

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,今天spy一棵树对象(TVirtualStringTree),发现spy出来的都是一些基本的属性和方法,树本身的属性和方法都没有(原因可能是这个树控件被自定义封装或属于非标准的第三方控件),面对这样的
千家信息网最后更新 2025年02月02日全键盘操作遍历树

今天spy一棵树对象(TVirtualStringTree),发现spy出来的都是一些基本的属性和方法,树本身的属性和方法都没有(原因可能是这个树控件被自定义封装或属于非标准的第三方控件),面对这样的一个对象要展开和遍历,只能通过键盘的上[Up],下[Down],左[Left],右[Right]等箭头去操作了。

思路:将树的层次和节点序号,组合成一个字符串,中间用"-"分割,例如:"6-2-1",表示第1层的第6个节点展开后,进入第2层的第2个节点展开后,再进入第3层的第1个节点……定义个数组存放split后的节点数(顺序代表层次),然后就用getNumString函数去生成对应数量的操作键就行了。

js代码:

//Description   : goto and expand the specified node//Parameter     : [IN]objTree -- the object Tree//Parameter     : [IN]strLevels -- the level of node,split by "-",such as 6-2-1//Return        : null//Author        : Alanfunction gotoAndExpandNode(objTree,strLevels){    var levels = arguments[1] == undefined || strLevels=="" ? 0 : strLevels;//deal with null and ""    var arrLevels = new Array();    if(levels.indexOf("-")!= -1){        arrLevels = levels.split("-");        for(i=0; i20) break;//timeout exit loop                counter++;            }                    }    }}
0