xcall XTREE, Srow, Scol, Answer, Array, Itemcount, Coldef, Exitcode {Erow, Ecol, XTREE Flags, File, Mmoclr {,XTRCTL, Filidx, Xinfo}}
XTREE.SBR is a full-fledged implementation of a Windows "tree" control, supporting multiple columns and multiple levels of rows. The name "tree" comes from the ability to create a branching hierarchy of items, which at each level can be collapsed and expanded. Windows Explorer, for example, is essentially a tree control.
For examples of the results produced by XTREE, and to get an idea of how XTREE has been used by various developers and for different purposes, see the online MicroSabio gallery of XTREE images.
Note that many of XTREE's functions and capabilities are available in a text-oriented version called PCKLST. For information on the differences between PCKLST and XTREE, and how PCKLST/XTREE handles text versus GUI issues, see the note here.
XTREE vs. PCKLST, Text vs. GUI
XTREE is an upward-compatible variation of the older routine PCKLST. XTREE and PCKLST are actually the same subroutine, so it does not really matter what name you use. It was split into two different names simply to make it easier to document and understand, since the uses of XTREE may diverge considerably from those of PCKLST, and also to avoid the potential confusion of people trying to use XTREE features that are not available in a text environment. Our recommendation is for you to use PCKLST if you need text mode compatibility and are (therefore) going to stick with the PCKLST features and semantics (as documented under PCKLST). Otherwise, if you are committed to the GUI environment and want to take advantage of the maximum feature set, use XTREE. To force PCKLST to use the GUI interface, see the documentation index for "PCKLST_GUI SBR system parameter."
Depending on how you call it and the operating environment, the subroutine chooses one of two internal implementations. For text environments, it uses the INMEMO menu mode to display the list and allow you to choose an item. This will only be successful though if you limit yourself to the PCKLST feature set and argument semantics. For GUI environments, it uses a third-party tree control, which is licensed for A-Shell distribution. It resides in an external module, SftTree_IX86_A_##.DLL, which must be in the same directory where ashw32.exe resides.
|
Subtopics
•XTREE Inputs and Outputs
•XTREE Parameters
•XTREE Techniques
•XTREE Sample Programs