SCRSTS.SBX 1.3(109), scrolling status window handler:
When the XTREE option is requested (see 5.1.1126.2 below for details), three additional optional parameters can be passed to the SCROP_INIT call
xcall SCRSTS, SCROP_INIT, srow, scol, erow, ecol{, parentid, sflags, title, closecmd$, coldef$, xt'kbdstr, xt'flags, ctlid}
xt'kbdstr (Str,10)
sets the XTR'KBDSTR member of the XTRCTL structure, so that clicking on the status control sends the specified string. This can be useful if you want to allow the user to manipulate the status window, such as to sort, select, etc. (This probably only makes sense in conjunction with a COLDEF that defines relevant features such as columns, popup menus, etc.) The application would normally call the SCROP_SCROLL opcode to in response to receiving the XT'KBDSTR.
xt'flags
may be used to specify additional XTREE flags, such as perhaps XTF_MSEL, XTF_SORT, etc.
ctlid
will return the XTREE control number (XTR'CTLNO), or in the case of INFLD, the AUI control id. This would only be of interest in sophisticated situations where you wanted to bypass SCRSTS.SBX and operate on the control directly using XTREE.SBR or INFLD.SBR.
The SCROP_SCROLL operation now supports the return of an exitcode:
xcall SCRSTS, SCROP_SCROLL, msg$, exitcode
Since the SCROP_SCROLL opcode actually puts the focus on the status control, the exitcode will be that which you would have gotten from XTREE, INFLD, or INMEMO, depending on the environment. This would probably be most useful if you defined a PopupMenu, which returned interesting exitcodes.
The EXLIB sample program REGPTR[908,29] has been updated to illustrate some of the new capabilities of SCRSTS.