Navegação com Cursor

Ao trabalhar com um documento, mesmo que seja curto ou longo, você precisará navegar pelo documento. A navegação com um cursor virtual representa a capacidade de navegar entre diferentes nós num documento.

Em um documento curto, mover-se em um documento é simples, pois você pode mover o ponto de inserção mesmo usando as teclas de seta do teclado ou clicando no mouse para localizar o ponto de inserção onde quiser. Mas uma vez que você tenha um documento grande que tenha muitas páginas, essas técnicas básicas serão insuficientes.

Este artigo explica como se deslocar num documento e navegar com um cursor virtual para diferentes partes do mesmo.

Detectando A Posição Atual Do Cursor

Antes de iniciar o processo de navegação pelo seu documento, você precisará obter o nó atualmente selecionado. Pode obter a posição exacta do cursor num nó seleccionado utilizando a propriedade CurrentNode. Além disso, em vez de obter o nó atual, você pode obter o parágrafo atualmente selecionado ou a seção atualmente selecionada usando as propriedades CurrentParagraph e CurrentSection.

Todas as operações de inserção que executar utilizando o DocumentBuilder serão inseridas antes do CurrentNode. Quando o parágrafo atual está vazio ou o cursor é posicionado imediatamente antes do final do parágrafo, o CurrentNode retorna nullptr.

Métodos de navegação num documento

Quando você está editando texto, é importante saber como navegar em seu documento e para onde exatamente se mover nele. Aspose.Words permite – lhe deslocar-se num documento e navegar para as suas diferentes secções e partes-isto é semelhante à funcionalidade do Painel de navegação em Microsoft Word para ir para uma página ou título num documento do Word sem deslocar-se.

O método principal é poder mover a posição do cursor para um nó específico no seu documento, você pode conseguir isso usando o método MoveTo.

O exemplo de código a seguir mostra como mover o DocumentBuilder para diferentes nós em um documento:

Mas, além do método básico MoveTo, existem outros mais específicos.

Pode ir para o início ou para o fim do documento utilizando os métodos MoveToDocumentStart e MoveToDocumentEnd.

O exemplo de código a seguir mostra como mover a posição do cursor para o início ou o fim de um documento:

Você pode marcar um lugar que deseja encontrar e mover-se para ele novamente facilmente. Você pode inserir quantos marcadores desejar em seu documento e, em seguida, navegar por eles identificando os marcadores com nomes exclusivos. Pode mover-se para um marcador utilizando o método MoveToBookmark.

Os exemplos de código a seguir mostram como mover uma posição do cursor para um marcador:

Você pode mover para uma célula da tabela usando o método MoveToCell. Este método permite-lhe navegar o cursor para qualquer célula de uma tabela específica. Além disso, você pode especificar um índice para mover o cursor para qualquer posição ou caractere especificado em uma célula dentro do método MoveToCell.

O exemplo de código a seguir mostra como mover uma posição do cursor para uma célula de tabela especificada:

Pode mover - se para um campo específico no documento utilizando o método MoveToField. Além disso, você pode mover para um campo de mesclagem específico usando o método MoveToMergeField.

O exemplo de código a seguir mostra como mover o cursor do construtor de documentos para um campo específico:

Pode mover-se para o início de um cabeçalho ou rodapé utilizando o método MoveToHeaderFooter.

O exemplo de código a seguir mostra como mover o cursor do construtor de documentos para um cabeçalho ou rodapé de Documento:

Pode mover-se para uma secção ou parágrafo específico utilizando os métodos MoveToParagraph ou MoveToSection. Além disso, você pode especificar um índice para mover o cursor para qualquer posição ou um caractere especificado em um parágrafo dentro do método MoveToParagraph.

O exemplo de código a seguir mostra como mover para uma seção específica e um parágrafo específico em um documento: