物件狀態常數

本主題描述用來描述應用程式 UI 中物件狀態的常數值。 狀態常數定義于 oleacc.h 中。

物件隨時會與其中一或多個狀態值相關聯。 不會使用下列物件狀態常數: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
物件的外觀會快速或不斷變更。 偶爾產生動畫效果的圖形會描述為 ROLE_SYSTEM_GRAPHIC ,而 State 屬性設定為 STATE_SYSTEM_ANIMATED。 此狀態是用來指出物件的位置正在變更。
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
物件具有鍵盤焦點。 請勿將物件焦點與物件選取混淆。 如需詳細資訊,請參閱 選取範圍和焦點屬性和方法。 對於具有此物件狀態的物件,請傳送 EVENT_OBJECT_SHOWEVENT_OBJECT_HIDE WinEvents 通知用戶端應用程式狀態變更。 請勿使用 EVENT_OBJECT_STATECHANGE
STATE_SYSTEM_HASPOPUP
叫用時,物件會顯示快顯功能表或視窗。
STATE_SYSTEM_HOTTRACKED
物件是由滑鼠熱追蹤,這表示物件的外觀已變更,表示滑鼠指標位於該物件上方。
STATE_SYSTEM_INVISIBLE
物件會以程式設計方式隱藏。 例如,功能表 itmes 會以程式設計方式隱藏,直到使用者啟動功能表為止。 由於具有此狀態的物件無法供使用者使用,因此用戶端應用程式不得將物件的相關資訊傳達給使用者。 不過,如果用戶端應用程式找到具有此狀態的物件,它們應該檢查是否也會設定STATE_SYSTEM_OFFSCREEN。 如果定義了第二個狀態,用戶端可以將物件的相關資訊傳達給使用者。 例如,清單方塊可以同時設定STATE_SYSTEM_INVISIBLE和STATE_SYSTEM_OFFSCREEN。 在此情況下,用戶端應用程式可以將清單中的所有專案傳達給使用者。
如果用戶端應用程式正在流覽 IAccessible 樹狀結構,並遇到不可見的父物件,只要父系不可見,Microsoft Active Accessibility 將不會公開父系任何可能子系的相關資訊。
STATE_SYSTEM_LINKED
表示物件格式化為超連結。 物件的角色通常會 ROLE_SYSTEM_TEXT
STATE_SYSTEM_MARQUEED
表示捲動或移動文字或圖形。
STATE_SYSTEM_MIXED
表示未決定三狀態核取方塊或工具列按鈕的狀態。 核取方塊不會選取或清除,因此處于第三個或 混合 狀態。
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