Udostępnij za pośrednictwem


Stałe stanu obiektu

W tym temacie opisano stałe wartości używane do opisywania stanu obiektów w interfejsie użytkownika aplikacji. Stałe stanu są definiowane w pliku oleacc.h.

Obiekt jest skojarzony z co najmniej jedną z tych wartości stanu w dowolnym momencie. Następujące stałe stanu obiektu nie są używane: STATE_SYSTEM_ALERT_HIGH, STATE_SYSTEM_ALERT_MEDIUM, STATE_SYSTEM_ALERT_LOW i STATE_SYSTEM_FLOATING.

Klienci pobierają stan obiektu, wywołując metodę IAccessible::get_accState, która zwraca liczbę całkowitą, która jest kombinacją następujących flag bitowych. Klienci wywołają GetStateText z wartością stanu w celu pobrania zlokalizowanego ciągu opisującego stan obiektu.

Gdy stan obiektu ulegnie zmianie, serwery powinny wywoływać NotifyWinEvent ze stałą zdarzenia EVENT_OBJECT_STATECHANGE. Jednak obiekty z STATE_SYSTEM_INVISIBLE, STATE_SYSTEM_FOCUSED i STATE_SYSTEM_ stałe stanu wybranego obiektu mają własne stałe zdarzeń. W przypadku tych obiektów nie należy używać EVENT_OBJECT_STATECHANGE. Zamiast tego należy użyć stałej pojedynczego zdarzenia.

Poniżej przedstawiono stałe stanu obiektu:

Stały Opis
STATE_SYSTEM_ALERT_HIGH
0x10000000
(Ta stała stanu obiektu nie jest obsługiwana).
Wskazuje ważne informacje, które mają być natychmiast przekazywane użytkownikowi. Na przykład gdy bateria osiągnie krytycznie niski poziom, wskaźnik poziomu generuje alert wysokiego poziomu. W związku z tym narzędzie dostępu do ślepego dostępu natychmiast ogłasza te informacje użytkownikowi, a program powiększania ekranu przewija ekran tak, aby wskaźnik baterii był w widoku. Ten stan jest również odpowiedni dla każdego monitu lub operacji, które należy wykonać, zanim użytkownik będzie mógł kontynuować.
STATE_SYSTEM_ALERT_MEDIUM
0x8000000
(Ta stała stanu obiektu nie jest obsługiwana).
Wskazuje ważne informacje, które nie są przekazywane natychmiast użytkownikowi. Na przykład gdy bateria zaczyna osiągać niski poziom, wskaźnik poziomu generuje alert średniopoziomowy. Następnie narzędzie dostępu ślepego generuje dźwięk, aby poinformować użytkownika, że ważne informacje są dostępne bez przerywania pracy użytkownika. Użytkownik może następnie wykonać zapytanie dotyczące informacji o alercie, gdy jest to wygodne.
STATE_SYSTEM_ALERT_LOW
0x4000000
(Ta stała stanu obiektu nie jest obsługiwana).
Wskazuje informacje o niskim priorytcie, które nie są ważne dla użytkownika. Ten stan jest używany, na przykład gdy program Word zmienia wygląd przycisku TipWizard na pasku narzędzi, aby wskazać, że ma wskazówkę dla użytkownika.
STATE_SYSTEM_ANIMATED
0x4000
Wygląd obiektu zmienia się szybko lub stale. Grafika, która jest animowana od czasu do czasu, są opisywane jako ROLE_SYSTEM_GRAPHIC z właściwością State ustawioną na STATE_SYSTEM_ANIMATED. Ten stan służy do wskazywania, że lokalizacja obiektu się zmienia.
STATE_SYSTEM_BUSY
0x800
Kontrolka nie może obecnie akceptować danych wejściowych.
STATE_SYSTEM_CHECKED
0x10
Pole wyboru obiektu jest zaznaczone.
STATE_SYSTEM_COLLAPSED
0x400
Elementy podrzędne obiektu, które mają rolę ROLE_SYSTEM_OUTLINEITEM, są ukryte.
STATE_SYSTEM_DEFAULT
0x100
Ten stan reprezentuje przycisk domyślny w oknie.
STATE_SYSTEM_EXPANDED
0x200
Zostaną wyświetlone elementy podrzędne obiektu, które mają rolę ROLE_SYSTEM_OUTLINEITEM.
STATE_SYSTEM_EXTSELECTABLE
0x2000000
Wskazuje, że obiekt rozszerza wybór przy użyciu SELFLAG_EXTENDSELECTION w metodzie IAccessible::accSelect.
STATE_SYSTEM_FLOATING
0x1000
(Ta stała stanu obiektu nie jest obsługiwana).
Obiekt nie jest przycięty do granicy obiektu nadrzędnego i nie przenosi się automatycznie po przeniesieniu obiektu nadrzędnego.
STATE_SYSTEM_FOCUSABLE
0x100000
Obiekt znajduje się w aktywnym oknie i jest gotowy do odbierania fokusu klawiatury.
STATE_SYSTEM_FOCUSED
0x4
Obiekt ma fokus klawiatury. Nie należy mylić fokusu obiektu z zaznaczeniem obiektu. Aby uzyskać więcej informacji, zobacz Selection and Focus Properties and Methods. W przypadku obiektów o tym stanie obiektu wyślij EVENT_OBJECT_SHOW lub EVENT_OBJECT_HIDE WinEvents, aby powiadomić aplikacje klienckie o zmianach stanu. Nie używaj EVENT_OBJECT_STATECHANGE.
STATE_SYSTEM_HASPOPUP
0x40000000
Po wywołaniu obiekt wyświetla menu podręczne lub okno.
STATE_SYSTEM_HOTTRACKED
0x80
Obiekt jest śledzony na gorąco przez mysz, co oznacza, że wygląd obiektu zmienił się, aby wskazać, że wskaźnik myszy znajduje się nad nim.
STATE_SYSTEM_INVISIBLE
0x8000
Obiekt jest programowo ukryty. Na przykład itmes menu są programowo ukryte do momentu aktywowania menu przez użytkownika. Ponieważ obiekty o tym stanie nie są dostępne dla użytkowników, aplikacje klienckie nie mogą komunikować informacji o obiekcie użytkownikom. Jeśli jednak aplikacje klienckie znajdą obiekt o tym stanie, powinni sprawdzić, czy STATE_SYSTEM_OFFSCREEN jest również ustawiona. Jeśli ten drugi stan jest zdefiniowany, klienci mogą przekazać użytkownikom informacje o obiekcie. Na przykład pole listy może mieć zarówno zestaw STATE_SYSTEM_INVISIBLE, jak i STATE_SYSTEM_OFFSCREEN. W takim przypadku aplikacja kliencka może komunikować się ze wszystkimi elementami na liście użytkownikom.
Jeśli aplikacja kliencka przechodzi przez drzewo IAccessible i napotka obiekt nadrzędny, który jest niewidoczny, usługa Microsoft Active Accessibility nie uwidacznia informacji o wszelkich możliwych elementach podrzędnych elementu nadrzędnego, o ile element nadrzędny jest niewidoczny.
STATE_SYSTEM_LINKED
0x400000
Wskazuje, że obiekt jest sformatowany jako hiperłącze. Rola obiektu będzie zwykle ROLE_SYSTEM_TEXT.
STATE_SYSTEM_MARQUEED
0x2000
Wskazuje przewijanie lub przenoszenie tekstu lub grafiki.
STATE_SYSTEM_MIXED
0x20
Wskazuje, że stan pola wyboru trójstanowego lub przycisku paska narzędzi nie jest określony. Pole wyboru nie jest ani zaznaczone, ani czyszczone i dlatego znajduje się w trzecim lub mieszanym stanie.
STATE_SYSTEM_MOVEABLE
0x40000
Wskazuje, że obiekt można przenieść. Na przykład użytkownik może kliknąć pasek tytułu obiektu i przeciągnąć obiekt do nowej lokalizacji.
STATE_SYSTEM_MULTISELECTABLE
0x1000000
Wskazuje, że obiekt akceptuje wiele zaznaczonych elementów; oznacza to, że SELFLAG_ADDSELECTION dla metody IAccessible::accSelect jest prawidłowa.
STATE_SYSTEM_NORMAL
0
Wskazuje, że obiekt nie ma przypisanego innego stanu.
STATE_SYSTEM_OFFSCREEN
0x10000
Obiekt jest obcięty lub przewijany z widoku, ale nie jest on programowo ukryty. Jeśli użytkownik powiększy okno wyświetlania, więcej obiektu będzie widocznych na ekranie komputera.
STATE_SYSTEM_PRESSED
0x8
Obiekt jest naciskany.
STATE_SYSTEM_PROTECTED
0x20000000
Obiekt jest kontrolką edycji chronioną hasłem.
STATE_SYSTEM_READONLY
0x40
Obiekt jest wyznaczony tylko do odczytu.
STATE_SYSTEM_SELECTABLE
0x200000
Obiekt akceptuje zaznaczenie.
STATE_SYSTEM_SELECTED
0x2
Obiekt jest zaznaczony.
STATE_SYSTEM_SELFVOICING
0x80000
Obiekt lub element podrzędny używa technologii zamiany tekstu na mowę (TTS) do celów opisu. Gdy obiekt o tym stanie ma fokus, pomoc ułatwień dostępu oparta na mowie nie ogłasza informacji, ponieważ obiekt automatycznie go ogłasza.
STATE_SYSTEM_SIZEABLE
0x20000
Rozmiar obiektu można zmienić. Na przykład użytkownik może zmienić rozmiar okna, przeciągając go przez obramowanie.
STATE_SYSTEM_TRAVERSED
0x800000
Obiekt jest hiperlinkiem, który został odwiedzony (wcześniej kliknięta) przez użytkownika.
STATE_SYSTEM_UNAVAILABLE
0x1
Obiekt jest niedostępny.

Wymagania

Wymaganie Wartość
Nagłówek
Oleacc.h