Full keyboard operation traversal tree
Today spy a tree object (TVirtualStringTree), found spy out are some basic properties and methods, tree itself properties and methods are not (the reason may be that the tree control is custom packaging or belong to non-standard third-party control), facing such an object to expand and traverse, can only be operated through the keyboard's [Up],[Down],[Left],[Right] and other arrows.
Idea: Combine the tree hierarchy and node number into a string, split with "-" in the middle, for example: "6-2-1", indicating that after the sixth node of the first layer is expanded, the second node of the second layer is expanded, and then the first node of the third layer is entered... Define an array to store the number of nodes after splitting (the order represents the hierarchy), and then use the getNumString function to generate the corresponding number of operation keys.
JS Code:
//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; i