Please enable JavaScript to view this site.

A-Shell Reference

Updated October 2020; see History

The TabX control was introduced in A-Shell 6.1.1321 as an alternate version of the standard Tab control, with several extended features, including:

Many different styles of tab labels
Ability to set the label font style/size
Extensive color options (background, text, flyby, active, inactive, etc) for each tab
Ability to put the labels on the left, right, or bottom, as well as the top
Options relating to the scroll buttons position and style
Transparency of the area around the labels (cleaner look)
Add and delete tab labels
Enable/Disable tab labels
Tooltips for each tab label
Optional close ("x") button
Options relating to arrangement of the labels
Option to have just labels (no panel)

 

In its basic/default configuration, it supports the same configuration syntax as the standard Tab, except that you must also specify the MBF2_TABX flag in the ctype2 parameter (or the SBR=AUTO_TABX global flag); in this mode it looks and behaves similarly to the standard Tab. To take advantage of some of the extended features, set your ctext parameter according to the following syntax shown below.

Creating a new TabX control (opcode CTLOP_ADD):

ctext = {@globalattribs~~} {labeldef~~labeldef~~...labeldef~~}

Modifying a TabX control (opcode CTLOP_CHG):

ctext = {@globalattribs~~}{+|-|={labelid}:}{labeldef~~}...{+|-|={labelid}:}{labeldef~~}

where:

globalattribs define attributes for the tab control as a whole

labeldefs define each individual tab/label

labelid identifies a tab/label to modify, or the position in which to insert a new one. It may be either the tab label number, starting from 1, or the label text or command field defined in the labeldef. It must begin with "+", "-", or "=", and end with ":"

Value

Description

+labelid:

insert a new label at the specified position, or at the end (if no labelid)

+:

(no labelid specified) append a new label at the end

-labelid:

delete the specified label

=labelid:

modify specified label, e.g. enable/disable it

 

History

2020 October 2020, A-Shell 6.5.1690:  You can now specify any of the label RGB attributes in the global attributes section of the configuration string (passed in the ctext parameter). Any attributes thus specified will be used as the default for any labels that do not specify their own RGB attributes. This eliminates the redundancy of having to specify the same RGB attributes on every label.

2014 December, A-Shell 6.1.1399:  TabX refinement/workaround: If the user somehow manages to click on a tab label in such a way that the event code trigger is bypassed and consequently the application doesn't know to switch panels, resulting in a mismatch between the actual panel displayed and the highlighted label, you can now rectify the situation by just re-clicking on the correct label. This is a rare situation, generally only possible if clicking rapidly on the labels while other control updating operations are occurring within the TABX control. When it did occur, it previously caused more headache because clicking on the correct label typically caused confusion in the application, which thought that the specified panel was already the active one, thus rejecting the click.

2012 November, A-Shell 6.1.1321:  TabX control added to A-Shell

Subtopics

globalattribs

labeldefs

TabX Style Examples

TabX Operations / Examples