共用方式為


導航透過點擊偵測和顯示位置

若要找出物件的子系或判斷物件的大小,用戶端可以在畫面上點擊測試點。 有兩種方法可供使用:

使用 IAccessible::accHitTest

若要識別某個點是在物件內、其子系內,或不在這些內,用戶端會呼叫父物件的 IAccessible::accHitTest 方法,並傳遞要點擊測試之點的螢幕座標。 下列清單描述一些典型案例:

  • 如果物件的子系在指定點重疊,IAccessible::accHitTest 會擷取視覺上顯示佔用空間的最上層子系。
  • 如果一個視窗遮住了子視窗,或者父視窗裁剪了子視窗,即使子視窗不可見,進行點擊測試時仍然會檢測到子視窗。
  • 如果在指定點找到的子系是可存取的物件,而不是子元素,此方法會傳回子系的 IDispatch 介面。

使用 IAccessible::accLocation

若要取得物件或其中一個物件的子系的螢幕位置,用戶端會呼叫 IAccessible::accLocation。 這個方法會傳回指定之物件周框的座標。 如果對象的形狀不像矩形,此方法會傳回包含整個物件之最小矩形的座標。

下圖顯示非矩形對象區域與其周框之間的關聯性。

圖例,其中顯示非矩形對象的區域(圓形)及其周框。

注意

IAccessible::accHitTestIAccessible::accLocation 更精確,因為它可讓用戶端逐圖元決定物件的位置,而不是使用周框。 例如,當應用程式藉由追蹤滑鼠指標的位置來收集資訊時,這個精確度非常有用。