共用方式為


對象狀態常數

本主題描述用來描述應用程式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
0x10000000
(不支援此物件狀態常數。
指出要立即傳達給使用者的重要資訊。 例如,當電池達到極低等級時,層級指示器會產生高階警示。 因此,盲人存取工具會立即向用戶宣佈這項資訊,而螢幕放大程式會捲動螢幕,讓電池指示器處於檢視狀態。 此狀態也適用於用戶繼續之前必須完成的任何提示或作業。
STATE_SYSTEM_ALERT_MEDIUM
0x8000000
(不支援此物件狀態常數。
指出未立即傳達給使用者的重要資訊。 例如,當電池開始達到低階時,層級指示器會產生中階警示。 然後,盲人存取工具會產生音效,讓使用者知道重要資訊可供使用,而不會實際中斷使用者的工作。 然後,用戶可以在方便時查詢警示資訊。
STATE_SYSTEM_ALERT_LOW
0x4000000
(不支援此物件狀態常數。
指出對使用者而言不重要的低優先順序資訊。 例如,當 Word 在其工具列上變更 TipWizard 按鈕的外觀,以指出它有使用者的提示時,就會使用此狀態。
STATE_SYSTEM_ANIMATED
0x4000
對象的外觀會快速或不斷變更。 偶爾產生動畫效果的圖形會描述為 [狀態] 屬性設定為 [STATE_SYSTEM_ANIMATED] ROLE_SYSTEM_GRAPHIC。 這個狀態是用來指出物件的位置正在變更。
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
表示物件會使用 IAccessible::accSelect 方法中的 SELFLAG_EXTENDSELECTION 來擴充其選取範圍。
STATE_SYSTEM_FLOATING
0x1000
(不支援此物件狀態常數。
物件不會裁剪到其父物件的界限,也不會在父系移動時自動移動。
STATE_SYSTEM_FOCUSABLE
0x100000
對象位於活動視窗上,並準備好接收鍵盤焦點。
STATE_SYSTEM_FOCUSED
0x4
物件具有鍵盤焦點。 請勿將物件焦點與物件選取混淆。 如需詳細資訊,請參閱 Selection 和 Focus Properties 和 Methods。 針對具有此物件狀態的對象,傳送 EVENT_OBJECT_SHOWEVENT_OBJECT_HIDE WinEvents,以通知用戶端應用程式狀態變更。 請勿使用 EVENT_OBJECT_STATECHANGE
STATE_SYSTEM_HASPOPUP
0x40000000
叫用時,對象會顯示彈出視窗或視窗。
STATE_SYSTEM_HOTTRACKED
0x80
物件由滑鼠熱追蹤,這表示對象的外觀已變更,表示滑鼠指標位於該物件上方。
STATE_SYSTEM_INVISIBLE
0x8000
物件是以程式設計方式隱藏的。 例如,功能表 Itmes 會以程式設計方式隱藏,直到使用者啟動功能表為止。 由於具有此狀態的物件無法供使用者使用,用戶端應用程式不得將對象的相關信息傳達給使用者。 不過,如果用戶端應用程式找到具有此狀態的物件,它們應該檢查是否也會設定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
表示物件接受多個選取的專案;也就是說,IAccessible::accSelect 方法的 SELFLAG_ADDSELECTION 有效。
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
物件或子系會使用文字到語音轉換技術進行描述。 當具有此狀態的物件具有焦點時,語音型輔助功能輔助功能不會宣告資訊,因為物件會自動宣告資訊。
STATE_SYSTEM_SIZEABLE
0x20000
物件可以重設大小。 例如,使用者可以藉由框線拖曳視窗來變更視窗的大小。
STATE_SYSTEM_TRAVERSED
0x800000
對像是使用者已流覽的超連結(先前已按兩下)。
STATE_SYSTEM_UNAVAILABLE
0x1
物件無法使用。

要求

要求 價值
頁眉
Oleacc.h