SELFLAG

[This is preliminary documentation and subject to change.]

Describes how an accessible object will become selected or take focus. These values are used with the IAccessible::accSelect method.

typedef enum tagSELFLAG
{
    SELFLAG_NONE            = 0,
    SELFLAG_TAKEFOCUS       = 1,
    SELFLAG_TAKESELECTION   = 2,
    SELFLAG_EXTENDSELECTION = 4,
    SELFLAG_ADDSELECTION    = 8,
    SELFLAG_REMOVESELECTION = 16
} SELFLAG;
 

Members

SELFLAG_NONE
Used only to test for argument validity.
SELFLAG_TAKEFOCUS
The object will take the input focus and become the selection anchor. This value does not alter the selection unless specified by other flags, so it is useful when altering the input focus without changing the selection itself (that is, moving the focus by pressing the arrow keys while holding down the ctrl key in File Manager or a Windows 95® folder, or maneuvering the input-focus cell in a multicell selection within a spreadsheet application such as Microsoft Excel).

To select a range of objects and put the focus on the last object: This requires two calls: in the first, specify the SELFLAG_TAKEFOCUS on the starting object; in the second, specify a combination of the SELFLAG_EXTENDSELECTION and SELFLAG_TAKEFOCUS on the last object.

SELFLAG_TAKESELECTION
The object becomes the only selected object in the container. Valid flag combinations are:
NONE
TAKE FOCUS
TAKE SELECTION
ADD SELECTION
REMOVE SELECTION
EXTEND SELECTION
TAKE FOCUS and TAKE SELECTION
TAKE FOCUS and ADD SELECTION
TAKE FOCUS and REMOVE SELECTION
TAKE FOCUS and EXTEND SELECTION
ADD SELECTION and EXTEND SELECTION
REMOVE SELECTION and EXTEND SELECTION
TAKE FOCUS, ADD SELECTION, and EXTEND SELECTION
TAKE FOCUS, REMOVE SELECTION, and EXTEND SELECTION

Invalid flag combinations are:
ADDSELECTION and REMOVESELECTION
ADDSELECTION and TAKESELECTION
REMOVESELECTION and TAKESELECTION
EXTENDSELECTION and TAKESELECTION

SELFLAG_EXTENDSELECTION
The current selection will be logically extended to include this object. If specified with SELFLAG_ADDSELECTION, all objects logically between the current anchor and the selection become selected. If specified with SELFLAG_REMOVESELECTION, the selection of those objects is canceled. If neither SELFLAG_ADDSELECTION nor SELFLAG_REMOVESELECTION are specified, all objects logically between the current anchor and the selection take on the anchor object's selection state. That is, the objects are added to or removed from the selection depending on the state of the object at the selection anchor (that is, adding or removing items by pressing shift+click or shift+space selection in File Manager, a Windows 95 folder, or an extended-selection list box).
SELFLAG_ADDSELECTION
Not valid with SELFLAG_REMOVESELECTION. The current object will be added individually to the current selection, possibly resulting in a disjoint selection (that is, adding or removing items by pressing ctrl+click or ctrl+space selection of an unselected object in a multiselect list box or in the Windows Explorer).
SELFLAG_REMOVESELECTION
Not valid with SELFLAG_ADDSELECTION. The current object will be removed individually from the current selection, and might result in a noncontiguous selection (that is, adding or removing items by pressing ctrl+click or ctrl+space selection of a selected object in a multiselect list box or in the Windows Explorer).