Condividi tramite


Navigazione tramite hit testing e posizione dello schermo

Per individuare gli elementi figlio di un oggetto o per determinare le dimensioni di un oggetto, i client possono raggiungere i punti di test sullo schermo. Sono disponibili due metodi:

Uso di IAccessible::accHitTest

Per identificare se un punto si trova all'interno di un oggetto, all'interno del relativo figlio o nessuno dei due, i client chiamano il metodo IAccessible::accHitTest dell'oggetto padre, passando le coordinate dello schermo del punto da sottoporre a hit test. L'elenco seguente descrive alcuni scenari tipici:

  • Se gli elementi figlio dell'oggetto si sovrappongono a un punto specificato, IAccessible::accHitTest recupera il figlio più in alto che visibilmente occupa lo spazio.
  • Se una finestra copre un elemento figlio o se l'elemento figlio viene ritagliato dall'elemento padre, il "hit testing" del punto coperto recupera l'elemento figlio, anche se non è visibile.
  • Se l'elemento figlio trovato nel punto specificato è un oggetto accessibile, anziché un elemento figlio, il metodo restituisce l'interfaccia IDispatch dell'elemento figlio.

Uso di IAccessible::accLocation

Per ottenere la posizione dello schermo di un oggetto o di uno degli elementi figli dell'oggetto, i client chiamano IAccessible::accLocation. Questo metodo restituisce le coordinate del rettangolo di delimitazione dell'oggetto specificato. Se l'oggetto non viene modellato come un rettangolo, il metodo restituisce le coordinate del rettangolo più piccolo che include l'intero oggetto.

La figura seguente mostra la relazione tra l'area di un oggetto non rettangolare e il relativo rettangolo di delimitazione.

figura che mostra l'area di un oggetto non rettangolare (un cerchio) e il relativo rettangolo di delimitazione.

Nota

IAccessible::accHitTest è più preciso di IAccessible::accLocation perché consente ai client di determinare la posizione degli oggetti in base a pixel anziché con rettangoli di delimitazione. Questa precisione è utile, ad esempio, quando un'applicazione raccoglie informazioni tenendo traccia della posizione del puntatore del mouse.