流覽點擊測試和螢幕位置
若要找出物件的子系或判斷物件的大小,用戶端可以在畫面上叫用測試點。 有兩種方法可供使用:
使用 IAccessible::accHitTest
若要識別某個點是否位於物件、其子系內或兩者內,用戶端呼叫父物件的 IAccessible::accHitTest 方法,並傳遞要測試點的螢幕座標。 下列清單描述一些典型的案例:
- 如果物件的子系在指定的時間點重迭, IAccessible::accHitTest 會擷取視覺上最上層的子系,而該子系看起來會佔用空間。
- 如果視窗涵蓋子系,或父系裁剪子系,則點擊測試涵蓋點會擷取子系,即使看不到該子系也一樣。
- 如果在指定點找到的子系是可存取的物件,而不是子專案,此方法會傳回子系的 IDispatch 介面。
使用 IAccessible::accLocation
若要取得物件的螢幕位置或物件的其中一個子系,用戶端會呼叫 IAccessible::accLocation。 這個方法會傳回指定之物件周框的座標。 如果物件的形狀不像矩形,則 方法會傳回包含整個物件的最小矩形座標。
下圖說明非矩形物件的區域和其週框之間的關聯性。
注意
IAccessible::accHitTest 比 IAccessible::accLocation 更精確,因為它可讓用戶端根據圖元來判斷物件的位置,而不是使用周框。 例如,當應用程式透過追蹤滑鼠指標的位置來收集資訊時,這個精確度很有用。