Поделиться через


Константы состояния объекта

В этом разделе описываются константы, используемые для описания состояния объектов в пользовательском интерфейсе приложения. Константы состояния определяются в oleacc.h.

Объект связан с одним или несколькими значениями состояния в любое время. Следующие константы состояния объекта не используются: STATE_SYSTEM_ALERT_HIGH, STATE_SYSTEM_ALERT_MEDIUM, STATE_SYSTEM_ALERT_LOW и STATE_SYSTEM_FLOATING.

Клиенты получают состояние объекта путем вызова IAccess::get_accState, которое возвращает целое число, которое является сочетанием следующих битовых флагов. Клиенты вызывают GetStateText со значением состояния, чтобы получить локализованную строку, описывающую состояние объекта.

При изменении состояния объекта серверы должны вызывать NotifyWinEvent с константой события EVENT_OBJECT_STATECHANGE. Однако объекты с STATE_SYSTEM_INVISIBLE, STATE_SYSTEM_FOCUSED и STATE_SYSTEM_ константы состояния объекта SELECTED имеют собственные константы событий. Для этих объектов не используйте EVENT_OBJECT_STATECHANGE. Вместо этого используйте константу отдельного события.

Ниже приведены константы состояния объекта:

Постоянный Описание
STATE_SYSTEM_ALERT_HIGH
0x10000000
(Эта константа состояния объекта не поддерживается.)
Указывает, что важные сведения должны быть немедленно переданы пользователю. Например, когда батарея достигает критически низкого уровня, индикатор уровня создает оповещение высокого уровня. В результате средство слепого доступа немедленно объявляет эти сведения пользователю, и программа увеличения экрана прокручивает экран, чтобы индикатор батареи был в представлении. Это состояние также подходит для любого запроса или операции, которая должна быть завершена, прежде чем пользователь сможет продолжить работу.
STATE_SYSTEM_ALERT_MEDIUM
0x8000000
(Эта константа состояния объекта не поддерживается.)
Указывает важные сведения, которые не передаются пользователю немедленно. Например, когда батарея начинает достигать низкого уровня, индикатор уровня создает оповещение среднего уровня. Затем средство слепого доступа создает звук, чтобы сообщить пользователю, что важная информация доступна, не прерывая работу пользователя. Затем пользователь может запрашивать сведения об оповещении, когда это удобно.
STATE_SYSTEM_ALERT_LOW
0x4000000
(Эта константа состояния объекта не поддерживается.)
Указывает сведения с низким приоритетом, которые не важны для пользователя. Это состояние используется, например, когда Word изменяет внешний вид кнопки TipWizard на панели инструментов, чтобы указать, что у него есть подсказка для пользователя.
STATE_SYSTEM_ANIMATED
0x4000
Внешний вид объекта быстро или постоянно изменяется. Графики, анимированные иногда, описываются как ROLE_SYSTEM_GRAPHIC с свойством State, установленным для STATE_SYSTEM_ANIMATED. Это состояние используется для указания того, что расположение объекта изменяется.
STATE_SYSTEM_BUSY
0x800
Элемент управления не может принимать входные данные в настоящее время.
STATE_SYSTEM_CHECKED
0x10
Установлен флажок объекта.
STATE_SYSTEM_COLLAPSED
0x400
Дочерние элементы объекта, имеющие роль ROLE_SYSTEM_OUTLINEITEM, скрыты.
STATE_SYSTEM_DEFAULT
0x100
Это состояние представляет кнопку по умолчанию в окне.
STATE_SYSTEM_EXPANDED
0x200
Отображаются дочерние элементы объекта, имеющие роль ROLE_SYSTEM_OUTLINEITEM.
STATE_SYSTEM_EXTSELECTABLE
0x2000000
Указывает, что объект расширяет свой выбор с помощью SELFLAG_EXTENDSELECTION в методе IAccessible::accSelect.
STATE_SYSTEM_FLOATING
0x1000
(Эта константа состояния объекта не поддерживается.)
Объект не обрезается до границы родительского объекта, и он не перемещается автоматически при перемещении родительского объекта.
STATE_SYSTEM_FOCUSABLE
0x100000
Объект находится в активном окне и готов к получению фокуса клавиатуры.
STATE_SYSTEM_FOCUSED
0x4
Объект имеет фокус клавиатуры. Не путайте фокус объекта с выделением объектов. Дополнительные сведения см. в разделе Свойства и методы выделения и фокуса. Для объектов с этим состоянием объекта отправьте EVENT_OBJECT_SHOW или EVENT_OBJECT_HIDE WinEvents, чтобы уведомить клиентские приложения об изменениях состояния. Не используйте EVENT_OBJECT_STATECHANGE.
STATE_SYSTEM_HASPOPUP
0x40000000
При вызове объект отображает всплывающее меню или окно.
STATE_SYSTEM_HOTTRACKED
0x80
Объект отслеживается мышью, что означает, что внешний вид объекта изменился, чтобы указать, что указатель мыши находится над ним.
STATE_SYSTEM_INVISIBLE
0x8000
Объект программно скрыт. Например, имиты меню программно скрыты, пока пользователь не активирует меню. Поскольку объекты с этим состоянием недоступны для пользователей, клиентские приложения не должны передавать сведения об объекте пользователям. Однако если клиентские приложения находят объект с этим состоянием, они должны проверить, задано ли STATE_SYSTEM_OFFSCREEN. Если это второе состояние определено, клиенты могут передавать сведения об объекте пользователям. Например, поле списка может иметь STATE_SYSTEM_INVISIBLE и STATE_SYSTEM_OFFSCREEN набор. В этом случае клиентское приложение может взаимодействовать со всеми элементами списка пользователями.
Если клиентское приложение перемещается по дереву IAccessible и обнаруживает родительский объект, который невидим, Microsoft Active Accessibility не будет предоставлять информацию о любых возможных дочерних элементах родительского элемента, пока родительский объект невидим.
STATE_SYSTEM_LINKED
0x400000
Указывает, что объект отформатирован как гиперссылка. Роль объекта обычно будет ROLE_SYSTEM_TEXT.
STATE_SYSTEM_MARQUEED
0x2000
Указывает прокрутку или перемещение текста или графики.
STATE_SYSTEM_MIXED
0x20
Указывает, что состояние трехэтапного флажка или кнопки панели инструментов не определено. Этот флажок не выбран и не очищается и поэтому находится в третьем или смешанном состоянии.
STATE_SYSTEM_MOVEABLE
0x40000
Указывает, что объект можно переместить. Например, пользователь может щелкнуть заголовок объекта и перетащить объект в новое расположение.
STATE_SYSTEM_MULTISELECTABLE
0x1000000
Указывает, что объект принимает несколько выбранных элементов; то есть SELFLAG_ADDSELECTION для метода IAccessible::accSelect является допустимым.
STATE_SYSTEM_NORMAL
0
Указывает, что объекту не назначено другое состояние.
STATE_SYSTEM_OFFSCREEN
0x10000
Объект обрезается или прокручивается вне представления, но он не скрыт программным способом. Если пользователь делает окно просмотра больше, больше объекта будет отображаться на экране компьютера.
STATE_SYSTEM_PRESSED
0x8
Объект нажимается.
STATE_SYSTEM_PROTECTED
0x20000000
Объект является элементом управления редактированием, защищенным паролем.
STATE_SYSTEM_READONLY
0x40
Объект назначен только для чтения.
STATE_SYSTEM_SELECTABLE
0x200000
Объект принимает выбор.
STATE_SYSTEM_SELECTED
0x2
Выбран объект.
STATE_SYSTEM_SELFVOICING
0x80000
Объект или дочерний объект использует технологию преобразования текста в речь (TTS) в целях описания. Если объект с этим состоянием имеет фокус, средство специальных возможностей на основе речи не объявляет информацию, так как объект автоматически объявляет его.
STATE_SYSTEM_SIZEABLE
0x20000
Объект можно изменить. Например, пользователь может изменить размер окна, перетащив его по границе.
STATE_SYSTEM_TRAVERSED
0x800000
Объект — это гиперссылка, которую посетил пользователь (ранее щелкнул).
STATE_SYSTEM_UNAVAILABLE
0x1
Объект недоступен.

Требования

Требование Ценность
Заголовок
Oleacc.h