Share 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(
                TextUnit unit,
  [in]          int      count,
  [out, retval] int      *pRetVal
);

Parâmetros

unit

[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 movido. Isso poderá ser menor que o número solicitado se um dos novos pontos de extremidade de 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 ocorrendo na direção anterior.

Retornar valor

Tipo: HRESULT

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

Comentários

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. Recolha 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 em 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 número menor 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 unitário , 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.

  • Caractere
  • Formatar
  • Word
  • Linha
  • Paragraph
  • Página
  • Documento

Comportamento do intervalo quando a unidade é TextUnit::Format

TextUnit::Format como um valor unitário 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 através do limite de um objeto inserido, como uma imagem ou hiperlink. Para obter mais informações, consulte Automação da Interface do Usuário Unidades de Texto ou Texto e Padrões de Controle TextRange.

Requisitos

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

Confira também

Conceitual

ITextProvider

ITextRangeProvider

Referência

Padrões de controle Text e TextRange

Visão Geral dos Provedores de Automação de Interface do Usuário