Compartilhar via


Método ITextRangeProvider::Move (uiautomationcore.h)

Move o intervalo de texto para frente ou para trás pelo número especificado de unidades de texto.

Sintaxe

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

Parâmetros

[in] unit

Tipo: textUnit

O tipo de unidades de texto, como caractere, palavra, parágrafo e assim por diante.

[in] count

Tipo: int

O número de unidades de texto a serem movidas. Um valor positivo move o intervalo de texto para frente.

Um valor negativo move o intervalo de texto para trás. Zero não tem efeito.

[out, retval] pRetVal

Tipo: int*

O número de unidades de texto realmente movidas. Isso pode ser menor do que o número solicitado se um dos novos pontos de extremidade do intervalo de texto for maior ou menor que os pontos de extremidade recuperados pelo método ITextProvider::D ocumentRange. Esse valor poderá ser negativo se a navegação estiver acontecendo na direção anterior.

Valor de retorno

Tipo: HRESULT

Se esse método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Observações

ITextRangeProvider::Move só deve mover o intervalo de texto para abranger uma parte diferente do texto, ele não deve alterar o texto de forma alguma.

Para um intervalo de texto não degenerado (não vazio), ITextRangeProvider::Move deve normalizar e mover o intervalo de texto executando as etapas a seguir.

  1. Recolher o intervalo de texto para um intervalo degenerado (vazio) no ponto de extremidade inicial.
  2. Se necessário, mova o intervalo de texto resultante para trás no documento para o início do limite de unidade solicitado.
  3. Mova o intervalo de texto para frente ou para trás no documento pelo número solicitado de limites de unidade de texto.
  4. Expanda o intervalo de texto do estado degenerado movendo o ponto de extremidade final para frente por um limite de unidade de texto solicitado.
Se qualquer uma das etapas anteriores falhar, o intervalo de texto deverá ficar inalterado. Se o intervalo de texto não puder ser movido até o número solicitado de unidades de texto, mas puder ser movido por um número menor de unidades de texto, o intervalo de texto deverá ser movido pelo menor número de unidades de texto e pRetVal deverá ser definido como o número de unidades de texto movidas com êxito.

Para um intervalo de texto degenerado, ITextRangeProvider::Move deve simplesmente mover o ponto de inserção de texto pelo número especificado de unidades de texto.

Ao mover um intervalo de texto, o provedor deve ignorar os limites de quaisquer objetos inseridos no texto.

ITextRangeProvider::Move deve respeitar o texto oculto e visível.

Se um controle baseado em texto não der suporte à unidade de texto especificada pelo parâmetro de unidade , o provedor deverá substituir a próxima unidade de texto com suporte maior.

O tamanho das unidades de texto, da menor unidade para a maior, é o seguinte.

  • Personagem
  • Formato
  • Palavra
  • Linha
  • Parágrafo
  • Página
  • Documento

Comportamento do intervalo quando de unidade é TextUnit::Format

TextUnit::Format como uma unidade valor posiciona o limite de um intervalo de texto para expandir ou mover o intervalo com base em atributos de texto compartilhado (formato) do texto dentro do intervalo. No entanto, o uso da unidade de texto de formato não deve mover ou expandir um intervalo de texto no limite de um objeto inserido, como uma imagem ou hiperlink. Para obter mais informações, consulte unidades de texto de automação de interface do usuário ou padrões de controle text and textRange.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [aplicativos da área de trabalho | Aplicativos UWP]
servidor com suporte mínimo Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
cabeçalho uiautomationcore.h (include UIAutomation.h)

Consulte também

Conceitual

ITextProvider

ITextRangeProvider

de referência de

padrões de controle text and textRange

Visão geral dos provedores de automação da interface do usuário