SELFLAG Constants

This topic describes the constant values used to specify how an accessible object becomes selected or takes the focus. The constants are defined in oleacc.h and are used with the IAccessible::accSelect method.

The following combinations are not allowed:

  • SELFLAG_ADDSELECTION | SELFLAG_REMOVESELECTION
  • SELFLAG_ADDSELECTION | SELFLAG_TAKESELECTION
  • SELFLAG_REMOVESELECTION | SELFLAG_TAKESELECTION
  • SELFLAG_EXTENDSELECTION | SELFLAG_TAKESELECTION

Note to clients : Microsoft Active Accessibility does not support the selection of the text contained in edit and rich edit controls because the text is exposed as a string in the object's Value property.

For information on how to perform complex selection operations, see Selecting Child Objects.

Constant/value Description
SELFLAG_NONE
0
Performs no action. Microsoft Active Accessibility does not change the selection or focus.
SELFLAG_TAKEFOCUS
0x1
Sets the focus to the object and makes it the selection anchor. Used by itself, this flag does not alter the selection. The effect is similar to moving the focus manually by pressing an ARROW key while holding down the CTRL key in Windows Explorer or in any multiple-selection list box.
With objects that have the STATE_SYSTEM_MULTISELECTABLE, SELFLAG_TAKEFOCUS is combined with the following values:
  • SELFLAG_TAKESELECTION
  • SELFLAG_EXTENDSELECTION
  • SELFLAG_ADDSELECTION
  • SELFLAG_REMOVESELECTION
  • SELFLAG_ADDSELECTION
  • SELFLAG_EXTENDSELECTION
  • SELFLAG_REMOVESELECTION
  • SELFLAG_EXTENDSELECTION
If you call IAccessible::accSelect with the SELFLAG_TAKEFOCUS flag on an object that has an HWND, the flag will take effect only if the object's parent already has the focus.
SELFLAG_TAKESELECTION
0x2
Selects the object and removes the selection from all other objects in the container.
Unless it is combined with SELFLAG_TAKEFOCUS, this flag does not change the focus or the selection anchor. The SELFLAG_TAKESELECTION / SELFLAG_TAKEFOCUS combination is equivalent to single-clicking an item in Windows Explorer.
This flag must not be combined with the following flags:
  • SELFLAG_ADDSELECTION
  • SELFLAG_REMOVESELECTION
  • SELFLAG_EXTENDSELECTION
SELFLAG_EXTENDSELECTION
0x4
Alters the selection so that all objects between the selection anchor and this object take on the anchor object's selection state. If the anchor object is not selected, the objects are removed from the selection. If the anchor object is selected, the selection is extended to include this object and all the objects in between. Set the selection state by combining this flag with SELFLAG_ADDSELECTION or SELFLAG_REMOVESELECTION.
Unless it is combined with SELFLAG_TAKEFOCUS, this flag does not change the focus or the selection anchor. The SELFLAG_EXTENDSELECTION / SELFLAG_TAKEFOCUS combination is equivalent to adding an item to a selection manually by holding down the SHIFT key and clicking an unselected object in Windows Explorer.
This flag is not combined with SELFLAG_TAKESELECTION.
SELFLAG_ADDSELECTION
0x8
Adds the object to the current selection; possible result is a noncontiguous selection.
Unless it is combined with SELFLAG_TAKEFOCUS, this flag does not change the focus or the selection anchor. The SELFLAG_ADDSELECTION / SELFLAG_TAKEFOCUS combination is equivalent to adding an item to a selection manually by holding down the CTRL key and clicking an unselected object in Windows Explorer.
This flag is not combined with SELFLAG_REMOVESELECTION or SELFLAG_TAKESELECTION.
SELFLAG_REMOVESELECTION
0x10
Removes the object from the current selection; possible result is a noncontiguous selection.
Unless it is combined with SELFLAG_TAKEFOCUS, this flag does not change the focus or the selection anchor. The SELFLAG_REMOVESELECTION / SELFLAG_TAKEFOCUS combination is equivalent to removing an item from a selection manually, by holding down the CTRL key while clicking a selected object in Windows Explorer.
This flag is not combined with SELFLAG_ADDSELECTION or SELFLAG_TAKESELECTION.

Requirements

Requirement Value
Header
Oleacc.h

See also

IAccessible::accSelect

Selecting Child Objects