オブジェクトの状態定数

このトピックでは、アプリケーション UI 内のオブジェクトの状態を記述するために使用される定数値について説明します。 状態定数は oleacc.h で定義されます。

オブジェクトは、これらの状態値の 1 つ以上にいつでも関連付けられます。 次のオブジェクト状態定数は使用されません。STATE_SYSTEM_ALERT_HIGH、STATE_SYSTEM_ALERT_MEDIUM、STATE_SYSTEM_ALERT_LOW、STATE_SYSTEM_FLOATING。

クライアントは、次のビット フラグの組み合わせである整数を返す IAccessible::get_accState を呼び出して、オブジェクトの状態を取得します。 クライアントは、状態値を使用して GetStateText を呼び出して、オブジェクトの状態を記述するローカライズされた文字列を取得します。

オブジェクトの状態が変更されると、サーバーは EVENT_OBJECT_STATECHANGE イベント定数を使用して NotifyWinEvent を呼び出す必要があります。 ただし、STATE_SYSTEM_INVISIBLE、STATE_SYSTEM_FOCUSED、STATE_SYSTEM_ SELECTED オブジェクトの状態定数を持つオブジェクトには、独自のイベント定数があります。 これらのオブジェクトでは、 EVENT_OBJECT_STATECHANGEを使用しないでください。 代わりに、個々のイベント定数を使用します。

オブジェクトの状態定数を次に示します。

定数 説明
STATE_SYSTEM_ALERT_HIGH
(このオブジェクトの状態定数はサポートされていません)。
ユーザーにすぐに伝える重要な情報を示します。 たとえば、バッテリが非常に低いレベルに達すると、レベル インジケーターによって高レベルのアラートが生成されます。 その結果、ブラインド アクセス ツールは、この情報をユーザーにすぐに読み上げ、画面拡大プログラムは、バッテリー インジケーターが表示されるように画面をスクロールします。 この状態は、ユーザーが次の操作に移る前に完了する必要のある要求または操作にも該当します。
STATE_SYSTEM_ALERT_MEDIUM
(このオブジェクトの状態定数はサポートされていません)。
ユーザーにすぐに伝達されない重要な情報を示します。 たとえば、バッテリが低レベルに達し始めると、レベル インジケーターによって中レベルのアラートが生成されます。 その後、ブラインド アクセス ツールによってサウンドが生成され、ユーザーの作業を実際に中断することなく、重要な情報が使用可能であることをユーザーに知らせます。 その後、ユーザーは、便利な場合にアラート情報に対してクエリを実行できます。
STATE_SYSTEM_ALERT_LOW
(このオブジェクトの状態定数はサポートされていません)。
ユーザーにとって重要ではない優先度の低い情報を示します。 この状態は、たとえば、Wordがツール バーの TipWizard ボタンの外観を変更して、ユーザーにヒントがあることを示す場合などに使用されます。
STATE_SYSTEM_ANIMATED
オブジェクトの外観は、急速または絶えず変化します。 時折アニメーション化されるグラフィックスは、State プロパティ がSTATE_SYSTEM_ANIMATED に設定されたROLE_SYSTEM_GRAPHICとして記述されます。 この状態は、オブジェクトの位置が変更されていることを示すために使用されます。
STATE_SYSTEM_BUSY
この時点では、コントロールは入力を受け入れることができません。
STATE_SYSTEM_CHECKED
オブジェクトの [チェック] ボックスが選択されています。
STATE_SYSTEM_COLLAPSED
ROLE_SYSTEM_OUTLINEITEM ロールを持つオブジェクトの子は非表示になります。
STATE_SYSTEM_DEFAULT
この状態は、ウィンドウ内の既定のボタンを表します。
STATE_SYSTEM_EXPANDED
ROLE_SYSTEM_OUTLINEITEM ロールを持つオブジェクトの子が表示されます。
STATE_SYSTEM_EXTSELECTABLE
オブジェクトが IAccessible::accSelect メソッドの SELFLAG_EXTENDSELECTION を使用して選択範囲を拡張することを示します。
STATE_SYSTEM_FLOATING
(このオブジェクトの状態定数はサポートされていません)。
オブジェクトは親オブジェクトの境界にクリップされず、親が移動しても自動的には移動しません。
STATE_SYSTEM_FOCUSABLE
オブジェクトはアクティブウィンドウ上にあり、キーボードフォーカスを受け取る準備ができています。
STATE_SYSTEM_FOCUSED
オブジェクトにはキーボード フォーカスがあります。 オブジェクトのフォーカスとオブジェクトの選択を混同しないでください。 詳細については、「 Selection and Focus Properties and Methods」を参照してください。 このオブジェクトの状態を持つオブジェクトの場合は、 EVENT_OBJECT_SHOW を送信するか、WinEvents をEVENT_OBJECT_HIDE して、状態の変更についてクライアント アプリケーションに通知します。 EVENT_OBJECT_STATECHANGEは使用しないでください。
STATE_SYSTEM_HASPOPUP
呼び出されると、オブジェクトにポップアップ メニューまたはウィンドウが表示されます。
STATE_SYSTEM_HOTTRACKED
オブジェクトはマウスによってホット トラッキングされます。つまり、オブジェクトの外観が変更され、マウス ポインターがその上に配置されていることを示します。
STATE_SYSTEM_INVISIBLE
オブジェクトはプログラムによって非表示になります。 たとえば、ユーザーがメニューをアクティブ化するまで、メニュー テーマはプログラムによって非表示になります。 この状態のオブジェクトはユーザーが使用できないため、クライアント アプリケーションはオブジェクトに関する情報をユーザーに伝えてはいけません。 ただし、クライアント アプリケーションがこの状態のオブジェクトを見つけた場合は、STATE_SYSTEM_OFFSCREENも設定されているかどうかをチェックする必要があります。 この 2 番目の状態が定義されている場合、クライアントはオブジェクトに関する情報をユーザーに伝えることができます。 たとえば、リスト ボックスには、STATE_SYSTEM_INVISIBLEとSTATE_SYSTEM_OFFSCREENの両方を設定できます。 この場合、クライアント アプリケーションは、リスト内のすべての項目をユーザーに通信できます。
クライアント アプリケーションが IAccessible ツリー内を移動していて、非表示の親オブジェクトが検出された場合、Microsoft Active Accessibility は、親が非表示である限り、親の可能な子に関する情報を公開しません。
STATE_SYSTEM_LINKED
オブジェクトがハイパーリンクとして書式設定されていることを示します。 通常、オブジェクトのロールは ROLE_SYSTEM_TEXTされます。
STATE_SYSTEM_MARQUEED
テキストまたはグラフィックスのスクロールまたは移動を示します。
STATE_SYSTEM_MIXED
3 つの状態のチェック ボックスまたはツール バー ボタンの状態が決定されないことを示します。 チェック ボックスは選択もクリアもされていないため、3 番目または混合状態になります。
STATE_SYSTEM_MOVEABLE
オブジェクトを移動できることを示します。 たとえば、ユーザーはオブジェクトのタイトル バーをクリックし、オブジェクトを新しい場所にドラッグできます。
STATE_SYSTEM_MULTISELECTABLE
オブジェクトが複数の選択した項目を受け入れることを示します。つまり、IAccessible::accSelect メソッドのSELFLAG_ADDSELECTIONは有効です。
STATE_SYSTEM_NORMAL
オブジェクトに別の状態が割り当てられていないことを示します。
STATE_SYSTEM_OFFSCREEN
オブジェクトはクリップされるか、表示外にスクロールされましたが、プログラムによって非表示にされません。 ユーザーがビューポートを大きくすると、より多くのオブジェクトがコンピューター画面に表示されます。
STATE_SYSTEM_PRESSED
オブジェクトが押されます。
STATE_SYSTEM_PROTECTED
オブジェクトは、パスワードで保護された編集コントロールです。
STATE_SYSTEM_READONLY
オブジェクトは読み取り専用として指定されます。
STATE_SYSTEM_SELECTABLE
オブジェクトは選択を受け入れます。
STATE_SYSTEM_SELECTED
オブジェクトが選択されています。
STATE_SYSTEM_SELFVOICING
オブジェクトまたは子は、説明目的でテキスト読み上げ (TTS) テクノロジを使用します。 この状態のオブジェクトにフォーカスがある場合、オブジェクトが自動的に読み上げるため、音声ベースのアクセシビリティ支援では情報は読み上げません。
STATE_SYSTEM_SIZEABLE
オブジェクトのサイズを変更できます。 たとえば、ユーザーがウィンドウのサイズを変更するには、ウィンドウを境界線でドラッグします。
STATE_SYSTEM_TRAVERSED
オブジェクトは、ユーザーがアクセスした (以前にクリックした) ハイパーリンクです。
STATE_SYSTEM_UNAVAILABLE
オブジェクトは使用できません。

必要条件

要件
ヘッダー
Oleacc.h