Metodo ITextProvider::RangeFromChild (uiautomationcore.h)
Recupera un intervallo di testo che racchiude l'elemento figlio specificato, ad esempio un'immagine, un collegamento ipertestuale o un altro oggetto incorporato.
Sintassi
HRESULT RangeFromChild(
[in] IRawElementProviderSimple *childElement,
[out, retval] ITextRangeProvider **pRetVal
);
Parametri
[in] childElement
Tipo: IRawElementProviderSimple*
Provider Automazione interfaccia utente dell'elemento figlio specificato.
[out, retval] pRetVal
Tipo: ITextRangeProvider**
Intervallo di testo che racchiude l'elemento figlio.
Questo intervallo racchiude completamente il contenuto dell'elemento figlio in modo che:
- ITextRangeProvider::GetEnclosingElement restituisce l'elemento figlio stesso o il discendente più interno dell'elemento figlio che condivide lo stesso intervallo di testo dell'elemento figlio
- ITextRangeProvider::GetChildren restituisce elementi figlio dell'elemento da (1) completamente racchiusi all'interno dell'intervallo
- Entrambi gli endpoint dell'intervallo si trovano ai limiti dell'elemento figlio
Questo parametro viene passato non inizializzato.
Valore restituito
Tipo: HRESULT
Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Nota
E_INVALIDARG viene restituito se childElement non è un discendente di un ITextProvider o non è racchiuso in un intervallo di testo valido.
Commenti
Ogni elemento recuperato con ITextRangeProvider::GetChildren ha anche un intervallo di testo valido che può essere recuperato tramite RangeFromChild. Include tutti gli elementi nell'albero Automazione interfaccia utente tra ITextProvider e l'elemento figlio.
Esempio
Questo esempio mostra un flusso di testo che contiene un collegamento immagine. Il collegamento è un elemento figlio dell'immagine, ma entrambi si estendono sullo stesso intervallo di testo e vengono esposti come oggetti incorporati all'interno del flusso di testo.
Hello <Image Link> World
- Sia l'immagine che il collegamento sono discendenti anche dell'ITextProvider del flusso e possono essere specificati come childElement in una chiamata a ITextProvider::RangeFromChild.
- Chiamando ITextRangeProvider::RangeFromChild, usando l'immagine o il collegamento, restituisce lo stesso intervallo di testo (Range1).
- ITextRangeProvider::GetChildren non restituisce il collegamento.
- ITextRangeProvider::GetEnclosingElement non restituisce l'immagine per qualsiasi intervallo di testo.
- ITextRangeProvider::GetEnclosingElement in Range1 restituisce il collegamento.
- ITextRangeProvider::GetChildren in Range1 non restituisce elementi figlio.
- ITextRangeProvider::GetEnclosingElement nell'intervallo di testo per ITextProvider del flusso restituisce il provider.
- ITextRangeProvider::GetChildren nell'intervallo di testo per ITextProvider del flusso restituisce solo l'immagine.
Questo esempio mostra un flusso di testo che contiene una tabella a due celle circondata da testo.
Testo iniziale
Cella tabella 1 Cella tabella 2 Testo finale
- Case 1: ITextProvider del flusso e l'intero intervallo di testo
- ITextRangeProvider::GetEnclosingElement nell'intero intervallo di testo restituisce ITextProvider del flusso.
- GetChildren restituisce tutti gli elementi figlio dell'ITextProvider del flusso, solo l'elemento della tabella in questo caso.
- Case 2: Intervallo di testo ottenuto chiamando ITextProvider::RangeFromChild nell'elemento della tabella:
- ITextRangeProvider::GetEnclosingElement restituisce l'elemento della tabella.
- ITextRangeProvider::GetChildren restituisce entrambe le celle della tabella.
- Case 3: Intervallo di testo che estende il contenuto visivo della cella Tabella 1 Cella 1 Cella 2:
- ITextRangeProvider::GetEnclosingElement restituisce l'elemento della tabella.
- ITextRangeProvider::GetChildren restituisce entrambe le celle della tabella.
- Case 4: Intervallo di testo che si estende sulla parola Cella della cella tabella 1:
- ITextRangeProvider::GetEnclosingElement restituisce il primo elemento della cella.
- ITextRangeProvider::GetChildren non restituisce alcun elemento.
- Caso 5: intervallo di testo degenerato (vuoto) che rappresenta sia l'avvio (tabella e prima cella):
- ITextRangeProvider::GetEnclosingElement restituisce il primo elemento cella (l'elemento più interno con un intervallo che include l'intervallo degenerato).
- ITextRangeProvider::GetChildren non restituisce alcun elemento.
- Case 1: ITextProvider del flusso e l'intero intervallo di testo
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | uiautomationcore.h (includere UIAutomation.h) |
Vedi anche
ITextProvider, ITextRangeProvider, ITextRangeProvider::GetEnclosingElement, ITextRangeProvider::GetChildren, Automazione interfaccia utente Provider panoramica