Updated April 2022
This is a structure containing various extended parameters and options. If omitted, suitable defaults will be supplied, although that will severely limit the capabilities of the tree control. For those parameters which are essentially Boolean options, 0=false and 1=true. Most of the fields in XTRCTL are input-only, but a few, such as COLUMNACTIVE are updated as well, and some are output-only; these are indicated with "[in/out]" or "[out]" in the following table, which lists the structure members alphabetically for easy reference. To use the XTRCTL structure in your program, include the xtree.sdf and xtree.def files and then map an instance of the structure for each XTREE in the program, e.g.:
MAP1 XTR, XTRCTL ! define instance of XTRCTL structure named xtr
...
XTR.OPCODE = XTROP_CREATE
XTR.CTLNO = -1
etc.
Or include the xtree.map file which includes actual map statements for XTRCTL (rather than a structure definition); in that case, members would be assigned as follows:
XTR'OPCODE = XTROP_CREATE
XTR'CTLNO = -1
etc.
Note that the first method (declaring an instance of the defined structure XTRCTL and using the structure dot member notation) has the advantage of making it easy to define and maintain separate copies of the structure for multiple XTREEs.
By convention in this document, we refer to the members of the XTRCTL structure using structure.member notation, as if you had declared an instance of the structure XTRCTL named XTR, as in the example above.
Symbol |
Type |
I/O |
Description |
---|---|---|---|
B,1 |
in |
Set size of last column to "open ended" or fixed. |
|
B,1 |
in |
Associate column with a numeric ID. |
|
COLORDER (31) |
B,1 |
in/out |
Array indicating the display order of the first 31 physical columns. For example, COLORDER(3)=7 would indicate that physical column 7 is actually in display position 3. Supports up to 127 physical columns. The 8th bit (values 128+) indicates the physical column (-128) is hidden. |
COLUMNACTIVE |
B,1 |
in/out |
Col # with focus (for kbd search) |
COLUMNSORT (3) |
B,1 |
in/out |
Array indicating physical column numbers for up to to three sort levels. See SORTORDER(3). |
CTLID |
B,2 |
out |
Returns standard control ID of XTREE control (allowing access by AUI_CONTROL) |
B,1 |
in/out |
Specifies which XTREE control to use. |
|
B,4 |
in |
Control to delete when XTREE load is complete; used with progress/lifesigns. |
|
B,1 |
in |
0=collapse, #=expand through level # (9 max) |
|
FILTERED |
B,1 |
|
Returns 1 if one or more display rows had been removed through filtering upon exit from the tree. |
FLYBY |
B,1 |
in |
Fly-by highlighting? 0=no, 1 = first column, 2 = entire row. |
B,1 |
in |
Controls the display and style of column footers. |
|
GRIDSTYLE |
B,1 |
in |
0=vert solid, 1=horz solid, 2=both, 3=vert dotted, 4=horz dotted, 5=both. See XTR.SHOWGRID. |
B,1 |
in |
Column header style flags |
|
HIDEHEADER |
B,1 |
in |
Hide headers? (0=no) |
B,1 |
in |
Display lines per item. |
|
S,10 |
in |
Click code. |
|
B,1 |
|
Left-most visible column |
|
B,1 |
in |
Number of columns in left pane. |
|
B,1 |
in |
Width of left pane. |
|
B,1 |
in |
Misc flags (overlays XTR.TRUNCATED, which is now deprecated) |
|
B,1 |
in |
Determines how selected item(s) are highlighted, mostly when tree is inactive |
|
B,1 |
in |
Opcode. |
|
PARENTID |
B,2 |
in |
ID of parent of control (e.g. a dialog). To specify parent by its alphanumeric control name, set XTR.PARENTID to zero and add the ParentID=<name> clause to any column; see Advanced Coldef Options. |
ROWHDRSTYLE |
B,1 |
in |
Options related to row headers. See SHOWROWHDR. The style flags are the same as those used for XTR.HEADERSTYLE. Sample image here. |
SCROLLTIPS |
B,1 |
in |
Show scroll tips (0=no) |
B,1 |
|
|
|
B,1 |
in |
Clickable area and style. |
|
SHOW3D |
B,1 |
in |
Use 3D style? (0=no). |
B,1 |
in |
Control visibility of the expand/collapse (+/-) button for multi-level trees. |
|
SHOWBUTTONS0 |
B,1 |
|
No longer used. See SHOWBUTTONS. |
SHOWFOOTER |
B,1 |
in |
See FOOTERSTYLE. |
SHOWGRID |
B,1 |
in |
Show grid lines (0=no, 1=yes). Sample image here. |
B,1 |
in |
Determines whether row headers are displayed. |
|
S,10 |
in |
Search key. |
|
SORTORDER (3) |
B,1 |
in/out |
Array indicating sort order corresponding to the 3 sort levels specified in the COLUMNSORT(3) array. 0=ascending, 1=descending. |
TARGETCOL |
B,1 |
in/out |
Column of "target" cell; see TARGET. |
TARGETROW |
B,4 |
in/out |
Row of "target" cell; see TARGET. |
TIMEOUT |
B,4 |
in |
Timeout (ms).The timer is reset after each keystroke and after each mouse event; you can avoid the timeout by just wiggling the mouse. If the timer expires, XTREE will return EXITCODE=11 like INFLD timeout. |
B,4 |
in/out |
Force the initial display vertical scroll position. |
|
TREELINESTYLE |
B,1 |
|
Style of lines linking child lines to parent: 0=none, 1=solid, 2=dotted |
TRUNCATED |
B,1 |
in |
Deprecated, replaced by MISCFLAGS. Show dots if text truncated? |
USECOLORDER |
B,1 |
in |
Use COLORDER() to reorder? |
USETHEMES |
B,1 |
in |
Use Windows themes? (0=no) |
USRCFG |
B,1 |
|
Used for Saving User Adjustments. |
XCOL |
B,1 |
in/out |
Column of last cell to have the focus (see TARGETCOL). |
XNAVCOD |
B,1 |
in/out |
Used in cell editing |
XNAVMASK |
B,1 |
in/out |
" " " " |
XROW |
B,4 |
in/out |
Row of last cell to have the focus. See TARGET. |
B,1 |
out |
|
|
Definition file: xtree.sdf |