Metodo ITextRangeProvider::Move (uiautomationcore.h)
Sposta l'intervallo di testo avanti o indietro in base al numero specificato di unità di testo.
Sintassi
HRESULT Move(
TextUnit unit,
[in] int count,
[out, retval] int *pRetVal
);
Parametri
unit
[in] count
Tipo: int
Numero di unità di testo da spostare. Un valore positivo sposta l'intervallo di testo in avanti.
Un valore negativo sposta l'intervallo di testo indietro. Zero non ha alcun effetto.
[out, retval] pRetVal
Tipo: int*
Numero di unità di testo effettivamente spostate. Può essere minore del numero richiesto se uno dei nuovi endpoint dell'intervallo di testo è maggiore o minore degli endpoint recuperati dal metodo ITextProvider::D ocumentRange . Questo valore può essere negativo se lo spostamento si verifica nella direzione indietro.
Valore restituito
Tipo: HRESULT
Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
ITextRangeProvider::Move deve spostare solo l'intervallo di testo in una parte diversa del testo, non deve modificare il testo in alcun modo.
Per un intervallo di testo non degenerato (non vuoto), ITextRangeProvider::Move deve normalizzare e spostare l'intervallo di testo eseguendo la procedura seguente.
- Comprimere l'intervallo di testo in un intervallo degenerato (vuoto) nell'endpoint iniziale.
- Se necessario, spostare l'intervallo di testo risultante indietro nel documento all'inizio del limite dell'unità richiesta.
- Spostare l'intervallo di testo avanti o indietro nel documento in base al numero richiesto di limiti di unità di testo.
- Espandere l'intervallo di testo dallo stato degenerato spostando l'endpoint finale avanti da un limite di unità di testo richiesto.
Per un intervallo di testo degenerato, ITextRangeProvider::Move deve semplicemente spostare il punto di inserimento del testo in base al numero specificato di unità di testo.
Quando si sposta un intervallo di testo, il provider deve ignorare i limiti di tutti gli oggetti incorporati nel testo.
ITextRangeProvider::Move deve rispettare il testo nascosto e visibile.
Se un controllo basato su testo non supporta l'unità di testo specificata dal parametro unità, il provider deve sostituire la successiva unità di testo supportata più grande.
Le dimensioni delle unità di testo, dalla più piccola unità alla più grande, sono le seguenti.
- Carattere
- Formato
- Word
- Grafico a linee
- Paragraph
- Pagina
- Documento
Comportamento dell'intervallo quando l'unità è TextUnit::Format
TextUnit::Format
come valore unità posiziona il limite di un intervallo di testo per espandere o spostare l'intervallo in base agli attributi di testo condivisi (formato) del testo all'interno dell'intervallo. Tuttavia, l'uso dell'unità di testo di formato non deve spostare o espandere un intervallo di testo oltre il limite di un oggetto incorporato, ad esempio un'immagine o un collegamento ipertestuale. Per altre informazioni, vedere Automazione interfaccia utente Unità di testo o Modelli di controllo TextRange.
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
Informazioni concettuali
Riferimento
Modelli di controllo Text e TextRange
Cenni preliminari sui provider di automazione interfaccia utente
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per