AccessibleStates Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает значения, представляющие возможные состояния для объекта со специальными возможностями.
Это перечисление поддерживает побитовую комбинацию значений его членов.
public enum class AccessibleStates
[System.Flags]
public enum AccessibleStates
[<System.Flags>]
type AccessibleStates =
Public Enum AccessibleStates
- Наследование
- Атрибуты
Поля
AlertHigh | 268435456 | Важные данные, которые следует немедленно передать пользователю. Например, индикатор уровня батареи достиг критически низкого уровня, в этом случае служебная программа со специальными возможностями для людей с нарушениями зрения немедленно объявит об этом пользователю, а экранная лупа прокрутит изображение на экране таким образом, чтобы был виден индикатор батареи. Данное состояние также подходит для любого запроса или операции, которые необходимо завершить перед продолжением работы. |
AlertLow | 67108864 | Менее значимые сведения, которые могут быть не важны для пользователя. |
AlertMedium | 134217728 | Важные данные, которые не обязательно немедленно передавать пользователю. Например, когда индикатор уровня батареи начинает приближаться к низкому уровню, имеется возможность создать предупреждение среднего уровня. Затем служебная программа для людей с нарушениями зрения воспроизводит звук, который информирует пользователя о наличии важных данных, фактически не отрывая его от работы. Пользователь может запросить данные предупреждения в любой удобный момент. |
Animated | 16384 | Объект, быстро или постоянно меняющий внешний вид. Графика, которая иногда (но не постоянно) выводится анимированной, должна определяться в виде Graphic |
Busy | 2048 | Элемент управления, не имеющий возможности принимать входные данные в текущем состоянии. |
Checked | 16 | Объект с установленным флажком. |
Collapsed | 1024 | Скрытые дочерние объекты, являющиеся элементами в схеме или древовидной структуре. |
Default | 256 | Кнопка или пункт меню по умолчанию. |
Expanded | 512 | Отображаемые дочерние объекты, являющиеся элементами в схеме или древовидной структуре. |
ExtSelectable | 33554432 | Измененное выделение, например когда все объекты между точкой привязки выделения, то есть объектом с фокусом ввода, и данным объектом принимают состояние выделения объекта точки привязки. Если объект точки привязки не выделен, объекты удаляются из выделения. Если объект точки привязки выделен, выделение расширяется, чтобы включить данный объект и все промежуточные объекты. Имеется возможность настроить состояние выделения, объединив это значение с AddSelection или RemoveSelection. Если данное состояние не объединено с TakeFocus, оно не меняет фокус или точку привязки выделения. |
Floating | 4096 | Объект, не зафиксированный на границе родительского объекта и не перемещающийся автоматически вместе с родительским объектом. |
Focusable | 1048576 | Объект в активном окне, имеющий возможность получить фокус ввода. |
Focused | 4 | Объект с фокусом ввода. |
HasPopup | 1073741824 | Объект, который в случае вызова отображает контекстное меню или окно. |
HotTracked | 128 | Объект, отслеживаемый мышью (это значит, что объект выделяется, когда на него наведен указатель мыши). |
Indeterminate | 32 | Флажок или кнопка в панели инструментов с тремя состояниями, чье состояние является неопределенным. Флажок не установлен и не снят, он находится в третьем, смешанном, состоянии. |
Invisible | 32768 | Объект без видимого пользовательского интерфейса. |
Linked | 4194304 | Связанный объект, который ранее не был выделен. |
Marqueed | 8192 | Объект с прокручивающимся или перемещающимся текстом или графикой. |
Mixed | 32 | Флажок или кнопка в панели инструментов с тремя состояниями, чье состояние является неопределенным. Флажок не установлен и не снят, он находится в третьем, смешанном, состоянии. |
Moveable | 262144 | Перемещаемый объект. |
MultiSelectable | 16777216 | Объект, принимающий несколько выделенных элементов. |
None | 0 | Состояние отсутствует. |
Offscreen | 65536 | Отсутствует экранное представление. Данным состоянием будет обладать звуковой объект, объект предупреждения или скрытое, никогда не бывающее видимым, окно. |
Pressed | 8 | Объект в нажатом состоянии. |
Protected | 536870912 | Элемент управления редактирования, защищенный паролем. |
ReadOnly | 64 | Объект только для чтения. |
Selectable | 2097152 | Объект, имеющий возможность принимать выделение. |
Selected | 2 | Выделенный объект. |
SelfVoicing | 524288 | Для описания объекта или дочернего объекта может использоваться преобразование текста в речь. Речевые специальные возможности не должны воспроизводить данные, когда объект с этим состоянием имеет фокус, так как объект автоматически объявляет сведения о себе. |
Sizeable | 131072 | Объект с возможностью изменения размера. |
Traversed | 8388608 | Связанный объект, который ранее был выделен. |
Unavailable | 1 | Недоступный объект. |
Valid | 1073741823 | Допустимый объект. Это свойство устарело в платформа .NET Framework 2.0. |
Примеры
В следующем примере кода показано создание элемента управления диаграммы с поддержкой специальных возможностей с помощью AccessibleObject классов и Control.ControlAccessibleObject предоставления доступной информации. Элемент управления отображает две кривые вместе с условным обозначениями. Класс ChartControlAccessibleObject
, производный от ControlAccessibleObject
этого, используется в CreateAccessibilityInstance методе для предоставления настраиваемых доступных сведений для элемента управления диаграммой. Так как условные обозначения диаграммы не являются фактическим элементом управления на основе Control, а рисуются элементом управления диаграммы, он не содержит встроенных доступных сведений. Из-за этого ChartControlAccessibleObject
класс переопределяет GetChild метод, возвращающий CurveLegendAccessibleObject
доступную информацию для каждой части условных обозначений. Если приложение, поддерживающее доступ, использует этот элемент управления, элемент управления может предоставить необходимую информацию.
Этот фрагмент кода демонстрирует использование AccessibleStates перечисления со свойством State . Полный пример кода см. в обзоре AccessibleObject класса.
// Inner class ChartControlAccessibleObject represents accessible information associated with the ChartControl.
// The ChartControlAccessibleObject is returned in the ChartControl::CreateAccessibilityInstance .
ref class ChartControlAccessibleObject: public ControlAccessibleObject
{
private:
ChartControl^ chartControl;
public:
ChartControlAccessibleObject( ChartControl^ ctrl )
: ControlAccessibleObject( ctrl )
{
chartControl = ctrl;
}
property System::Windows::Forms::AccessibleRole Role
{
// Gets the role for the Chart. This is used by accessibility programs.
virtual System::Windows::Forms::AccessibleRole get() override
{
return ::AccessibleRole::Chart;
}
}
property AccessibleStates State
{
// Gets the state for the Chart. This is used by accessibility programs.
virtual AccessibleStates get() override
{
return AccessibleStates::ReadOnly;
}
}
// The CurveLegend objects are "child" controls in terms of accessibility so
// return the number of ChartLengend objects.
virtual int GetChildCount() override
{
return chartControl->Legends->Length;
}
// Gets the Accessibility object of the child CurveLegend idetified by index.
virtual AccessibleObject^ GetChild( int index ) override
{
if ( index >= 0 && index < chartControl->Legends->Length )
{
return chartControl->Legends[ index ]->AccessibilityObject;
}
return nullptr;
}
internal:
// Helper function that is used by the CurveLegend's accessibility object
// to navigate between sibiling controls. Specifically, this function is used in
// the CurveLegend::CurveLegendAccessibleObject.Navigate function.
AccessibleObject^ NavigateFromChild( CurveLegend::CurveLegendAccessibleObject^ child, AccessibleNavigation navdir )
{
switch ( navdir )
{
case AccessibleNavigation::Down:
case AccessibleNavigation::Next:
return GetChild( child->ID + 1 );
case AccessibleNavigation::Up:
case AccessibleNavigation::Previous:
return GetChild( child->ID - 1 );
}
return nullptr;
}
// Helper function that is used by the CurveLegend's accessibility object
// to select a specific CurveLegend control. Specifically, this function is used
// in the CurveLegend::CurveLegendAccessibleObject.Select function.
void SelectChild( CurveLegend::CurveLegendAccessibleObject^ child, AccessibleSelection selection )
{
int childID = child->ID;
// Determine which selection action should occur, based on the
// AccessibleSelection value.
if ( (selection & AccessibleSelection::TakeSelection) != (AccessibleSelection)0 )
{
for ( int i = 0; i < chartControl->Legends->Length; i++ )
{
if ( i == childID )
{
chartControl->Legends[ i ]->Selected = true;
}
else
{
chartControl->Legends[ i ]->Selected = false;
}
}
// AccessibleSelection->AddSelection means that the CurveLegend will be selected.
if ( (selection & AccessibleSelection::AddSelection) != (AccessibleSelection)0 )
{
chartControl->Legends[ childID ]->Selected = true;
}
// AccessibleSelection->AddSelection means that the CurveLegend will be unselected.
if ( (selection & AccessibleSelection::RemoveSelection) != (AccessibleSelection)0 )
{
chartControl->Legends[ childID ]->Selected = false;
}
}
}
};
// class ChartControlAccessibleObject
// Inner class ChartControlAccessibleObject represents accessible information associated with the ChartControl.
// The ChartControlAccessibleObject is returned in the ChartControl.CreateAccessibilityInstance override.
public class ChartControlAccessibleObject : ControlAccessibleObject
{
ChartControl chartControl;
public ChartControlAccessibleObject(ChartControl ctrl) : base(ctrl)
{
chartControl = ctrl;
}
// Gets the role for the Chart. This is used by accessibility programs.
public override AccessibleRole Role
{
get {
return AccessibleRole.Chart;
}
}
// Gets the state for the Chart. This is used by accessibility programs.
public override AccessibleStates State
{
get {
return AccessibleStates.ReadOnly;
}
}
// The CurveLegend objects are "child" controls in terms of accessibility so
// return the number of ChartLengend objects.
public override int GetChildCount()
{
return chartControl.Legends.Length;
}
// Gets the Accessibility object of the child CurveLegend idetified by index.
public override AccessibleObject GetChild(int index)
{
if (index >= 0 && index < chartControl.Legends.Length) {
return chartControl.Legends[index].AccessibilityObject;
}
return null;
}
// Helper function that is used by the CurveLegend's accessibility object
// to navigate between sibiling controls. Specifically, this function is used in
// the CurveLegend.CurveLegendAccessibleObject.Navigate function.
internal AccessibleObject NavigateFromChild(CurveLegend.CurveLegendAccessibleObject child,
AccessibleNavigation navdir)
{
switch(navdir) {
case AccessibleNavigation.Down:
case AccessibleNavigation.Next:
return GetChild(child.ID + 1);
case AccessibleNavigation.Up:
case AccessibleNavigation.Previous:
return GetChild(child.ID - 1);
}
return null;
}
// Helper function that is used by the CurveLegend's accessibility object
// to select a specific CurveLegend control. Specifically, this function is used
// in the CurveLegend.CurveLegendAccessibleObject.Select function.
internal void SelectChild(CurveLegend.CurveLegendAccessibleObject child, AccessibleSelection selection)
{
int childID = child.ID;
// Determine which selection action should occur, based on the
// AccessibleSelection value.
if ((selection & AccessibleSelection.TakeSelection) != 0) {
for(int i = 0; i < chartControl.Legends.Length; i++) {
if (i == childID) {
chartControl.Legends[i].Selected = true;
} else {
chartControl.Legends[i].Selected = false;
}
}
// AccessibleSelection.AddSelection means that the CurveLegend will be selected.
if ((selection & AccessibleSelection.AddSelection) != 0) {
chartControl.Legends[childID].Selected = true;
}
// AccessibleSelection.AddSelection means that the CurveLegend will be unselected.
if ((selection & AccessibleSelection.RemoveSelection) != 0) {
chartControl.Legends[childID].Selected = false;
}
}
}
}
' Inner Class ChartControlAccessibleObject represents accessible information
' associated with the ChartControl.
' The ChartControlAccessibleObject is returned in the ' ChartControl.CreateAccessibilityInstance override.
Public Class ChartControlAccessibleObject
Inherits Control.ControlAccessibleObject
Private chartControl As ChartControl
Public Sub New(ctrl As ChartControl)
MyBase.New(ctrl)
chartControl = ctrl
End Sub
' Get the role for the Chart. This is used by accessibility programs.
Public Overrides ReadOnly Property Role() As AccessibleRole
Get
Return System.Windows.Forms.AccessibleRole.Chart
End Get
End Property
' Get the state for the Chart. This is used by accessibility programs.
Public Overrides ReadOnly Property State() As AccessibleStates
Get
Return AccessibleStates.ReadOnly
End Get
End Property
' The CurveLegend objects are "child" controls in terms of accessibility so
' return the number of ChartLengend objects.
Public Overrides Function GetChildCount() As Integer
Return chartControl.Legends.Length
End Function
' Get the Accessibility object of the child CurveLegend idetified by index.
Public Overrides Function GetChild(index As Integer) As AccessibleObject
If index >= 0 And index < chartControl.Legends.Length Then
Return chartControl.Legends(index).AccessibilityObject
End If
Return Nothing
End Function
' Helper function that is used by the CurveLegend's accessibility object
' to navigate between sibiling controls. Specifically, this function is used in
' the CurveLegend.CurveLegendAccessibleObject.Navigate function.
Friend Function NavigateFromChild(child As CurveLegend.CurveLegendAccessibleObject, _
navdir As AccessibleNavigation) As AccessibleObject
Select Case navdir
Case AccessibleNavigation.Down, AccessibleNavigation.Next
Return GetChild(child.ID + 1)
Case AccessibleNavigation.Up, AccessibleNavigation.Previous
Return GetChild(child.ID - 1)
End Select
Return Nothing
End Function
' Helper function that is used by the CurveLegend's accessibility object
' to select a specific CurveLegend control. Specifically, this function is used
' in the CurveLegend.CurveLegendAccessibleObject.Select function.
Friend Sub SelectChild(child As CurveLegend.CurveLegendAccessibleObject, selection As AccessibleSelection)
Dim childID As Integer = child.ID
' Determine which selection action should occur, based on the
' AccessibleSelection value.
If (selection And AccessibleSelection.TakeSelection) <> 0 Then
Dim i As Integer
For i = 0 To chartControl.Legends.Length - 1
If i = childID Then
chartControl.Legends(i).Selected = True
Else
chartControl.Legends(i).Selected = False
End If
Next i
' AccessibleSelection.AddSelection means that the CurveLegend will be selected.
If (selection And AccessibleSelection.AddSelection) <> 0 Then
chartControl.Legends(childID).Selected = True
End If
' AccessibleSelection.AddSelection means that the CurveLegend will be unselected.
If (selection And AccessibleSelection.RemoveSelection) <> 0 Then
chartControl.Legends(childID).Selected = False
End If
End If
End Sub
End Class
Комментарии
Объект со специальными возможностями может быть связан с одним или несколькими из этих состояний.