Metodo ITextRangeProvider::Move (uiautomationcore.h)

Sposta l'intervallo di testo in avanti o indietro in base al numero specificato di unità di testo.

Sintassi

HRESULT Move(
  [in]          TextUnit unit,
  [in]          int      count,
  [out, retval] int      *pRetVal
);

Parametri

[in] unit

Tipo: TextUnit

Tipo di unità di testo, ad esempio carattere, parola, paragrafo e così via.

[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 all'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 avviene 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.

Osservazioni

ITextRangeProvider::Move deve spostare solo l'intervallo di testo per estendersi su 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 i passaggi seguenti.

  1. Comprimere l'intervallo di testo in un intervallo degenerato (vuoto) nell'endpoint iniziale.
  2. Se necessario, spostare l'intervallo di testo risultante all'indietro nel documento all'inizio del limite dell'unità richiesta.
  3. Spostare l'intervallo di testo in avanti o indietro nel documento in base al numero richiesto di limiti di unità di testo.
  4. Espandere l'intervallo di testo dallo stato degenerato spostando l'endpoint finale in avanti di un limite di unità di testo richiesto.
Se uno dei passaggi precedenti ha esito negativo, l'intervallo di testo deve essere lasciato invariato. Se l'intervallo di testo non può essere spostato fino al numero richiesto di unità di testo, ma può essere spostato da un numero minore di unità di testo, l'intervallo di testo deve essere spostato dal numero minore di unità di testo e pRetVal deve essere impostato sul numero di unità di testo spostate correttamente.

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 qualsiasi oggetto incorporato nel testo.

ITextRangeProvider::Move deve rispettare sia il testo nascosto che quello visibile.

Se un controllo basato su testo non supporta l'unità di testo specificata dall'unità di parametro, il provider deve sostituire la successiva unità di testo supportata più grande.

Le dimensioni delle unità di testo, dall'unità più piccola alla più grande, sono le seguenti.

  • Carattere
  • Formato
  • Parola
  • Linea
  • Paragrafo
  • Pagina
  • Documento

Comportamento intervallo quando unità è TextUnit::Format

TextUnit::Format come unità di valore 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 unità di testo di automazione interfaccia utente o modelli di controllo Text e TextRange.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [app desktop | App UWP]
server minimo supportato Windows Server 2003 [app desktop | App UWP]
piattaforma di destinazione Finestre
intestazione uiautomationcore.h (include UIAutomation.h)

Vedere anche

concettuale

ITextProvider

ITextRangeProvider

riferimento

modelli di controllo Text e TextRange

Panoramica dei provider di automazione interfaccia utente